2009-06-19 7 views
5

mi sono imbattuto in vari Django sviluppo aggiungere componenti, in particolare,sviluppo Django add-on

Non ho usato esattamente tutti questi.

Penso che sia difficile battere la semplicità e la potenza ottenute dalla combinazione delle belle pagine di errore di Django combinate con la shell iPythonEmbed.

Quali di questi o altri strumenti utilizzate per lo sviluppo, quali sono le caratteristiche esatte che ne trarrete vantaggio?

Anche i comandi e gli script scritti da sé sono benvenuti.

risposta

3

I for one love django-annoying 's render_to metodo.

@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)) 

Non ho ancora usato nessuno degli altri, sebbene stia guardando django-debug-toolbar.

1

ho trovato django-logging ad essere di grande aiuto durante lo sviluppo

3

Io uso django-extensions in ogni progetto. C'è un sacco di cose là dentro che non uso mai, ma ne vale la pena per i comandi di gestione shell_plus e runserver_plus da solo.

Shell_plus basta carica automaticamente tutti i vostri modelli: un importante risparmio di tempo (EDIT: ha dimenticato qualcosa di altrettanto importante: fa anche uso di ipython se installato, per il completamento scheda e altre comodità). Runserver_plus (richiede Werkzeug) ti dà una pagina di debug di errore 500 interattiva. È possibile passare a una console AJAX in qualsiasi punto del traceback - brillante.

Il comando print_user_for_session è utile anche se si riceve una e-mail di errore da un sito attivo e si desidera contattare l'utente che ha riscontrato l'errore.

aggiornamento: la shell di gestione incorporata di Django ora utilizza anche IPython se disponibile. Ed è relativamente facile creare un profilo utente IPython per l'importazione automatica di modelli e qualsiasi altra cosa che si desidera importare automaticamente. Non uso più le estensioni django.

+0

Il caricamento automatico di tutti i modelli suona alla grande! Ho scritto uno script per un po 'di tempo fa e da allora non ho usato il comando shell. (Inoltre, il caricamento automatico di django.contrib.auth.models.User è un grosso problema, dal momento che è così lungo da digitare una shell.) –

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

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

In questo modo, quando sei a una vista, puoi entrare nella riga di comando ed esplorare. Tutti i modelli richiesti verranno comunque importati e sostituiti facilmente con shell_plus. Per me, sostituisce anche lo runserver_plus di django-command-extensions.

(Perché ho trovato quello che uso spesso, non è un'idea comune comune, ho risposto io stesso.)

0

Il componente aggiuntivo di sviluppo Django più utile che usiamo è django-evolution. Si tratta di una soluzione di aggiornamento dello schema che richiede molto lavoro manuale dalle modifiche nei modelli esistenti. Mi ha risparmiato innumerevoli ore di lavoro.

1

Prova djangodevtools, tra cui i comandi Alias, Coverage, itest, selenium, ecc Alcuni comandi supplementari sono molto cool!

Problemi correlati