2009-06-19 18 views
5

me he encontrado con varios Django desarrollo de añadir complementos, sobre todo,desarrollo de Django complementos

No he usado exactamente todo esto.

Creo que es difícil superar la simplicidad y la potencia obtenidas por la combinación de las hermosas páginas de error de Django combinadas con el shell iPythonEmbed.

¿Cuál de estas u otras herramientas usa para el desarrollo? ¿Qué características exactas le benefician?

También son bienvenidos los comandos y scripts autodirigidos.

Respuesta

3

I para un amor django-annoying 's render_to método.

@render_to('template.html') 
def foo(request): 
    bar = Bar.objects.all() 
    return {'bar': bar} 

# equivalent to 
def foo(request): 
    bar = Bar.objects.all() 
    return render_to_response('template.html', 
           {'bar': bar}, 
           context_instance=RequestContext(request)) 

No he utilizado ninguno de los otros, sin embargo, a pesar de que he estado buscando en django-debug-barra de herramientas.

1

he encontrado django-logging a ser de gran ayuda durante el desarrollo

3

utilizo django-extensions en cada proyecto. Hay muchas cosas que nunca uso, pero vale la pena solo para los comandos de administración shell_plus y runserver_plus.

Shell_plus simplemente autoloads todos sus modelos: un ahorro de tiempo importante (EDITAR: olvidó algo igualmente importante: también hace uso de ipython si está instalado, para la implementación del tabulador y otras comodidades). Runserver_plus (requiere Werkzeug) le ofrece una página de 500 errores de depuración interactiva. Puede saltar a una consola AJAX en cualquier punto de la trazabilidad, brillante.

El comando print_user_for_session también es útil si recibe un correo electrónico de error de un sitio en vivo y desea ponerse en contacto con el usuario que experimentó el error.

actualización: el shell de administración incorporado de Django también ahora usa IPython si está disponible. Y es relativamente fácil crear un perfil de usuario de IPython para importar automáticamente modelos y cualquier otra cosa que desee importar automáticamente. Ya no uso django-extensiones.

+0

¡La carga automática de todos sus modelos suena genial! Hace un tiempo escribí un guión y no he usado el comando de shell desde entonces. (Además, cargar automáticamente django.contrib.auth.models.User es un gran problema, ya que es tan largo escribir un shell). –

1
from IPython.Shell import IPShellEmbed 
ipshell = IPShellEmbed() 

ipshell() # This call anywhere in your program will start IPython. 

De esta manera, cuando esté a la vista, puede ingresar a la línea de comando allí y explorar. Todos los modelos requeridos se importarán de todos modos y son un reemplazo fácil para shell_plus. Para mí, incluso reemplaza el runserver_plus de django-command-extensions.

(Debido a que encontré lo que uso a menudo, no es una idea frecuente, lo respondí yo mismo.)

0

El complemento de desarrollo de Django más útil que utilizamos es django-evolution. Es una solución de actualización de esquema que elimina gran parte del trabajo manual de los cambios en los modelos existentes. Me ha ahorrado innumerables horas de trabajo.

1

Trate djangodevtools, incluyendo los comandos Alias, Coverage, itest, selenium, etc. Algunos comandos adicionales son muy fresco!

Cuestiones relacionadas