2013-07-24 13 views
15

di Django runserver non emette una traccia dello stack quando aggiungo --traceback --verbosity 2:stack trace da runserver manage.py che non appare il comando

➫ python manage.py runserver --traceback --verbosity 2 
Validating models... 

0 errors found 
July 24, 2013 - 11:45:12 
Django version 1.5.1, using settings 'base.settings' 
Development server is running at http://127.0.0.1:8000/ 
Quit the server with CONTROL-C. 
[24/Jul/2013 11:45:27] "POST /login/get_associations/ HTTP/1.0" 500 13220 

Ci sono altri riga di comando o di configurazione di registrazione posso aggiungere per arrivare a runserver stampare una traccia stack quando c'è un 500?

+0

Non penso che ci sia un tale interruttore. Quello che facciamo di solito è usare 'DEBUG = True', nel qual caso il traceback e altre informazioni vanno al browser. Perché questo non è sufficiente? –

+0

DEBUG è impostato su True già. Sto provando a eseguire il debug di un sistema basato su AJAX. –

+0

Allora probabilmente lo vuoi: http://stackoverflow.com/questions/14171520/how-to-debug-the-ajax-request-in-django. Penso che tu possa usare anche Firebug, che non è menzionato in quel thread. –

risposta

28

Concordato che questo è conveniente, specialmente per lo sviluppo di app MVVM-centrico (ad esempio front-end angolare/ambra). Anche questo è utile quando altri stanno testando il front-end.

Come già menzionato, questo non è fornito da DEBUG=True. È possibile aggiungere uno stacktrace durante l'esecuzione ./manage.py runserver aggiungendo quanto segue al file settings.py:

LOGGING = { 
    'version': 1, 
    'handlers': { 
     'console':{ 
      'level':'DEBUG', 
      'class':'logging.StreamHandler', 
     }, 
    }, 
    'loggers': { 
     'django.request': { 
      'handlers':['console'], 
      'propagate': True, 
      'level':'DEBUG', 
     } 
    }, 
} 

Questa sintassi viene dalla documentazione di Django Configuring Logging e può essere ulteriormente modificato per aumentare o diminuire la quantità di Console- registrazione.

Si noti inoltre che 5XX risposte sono allevati come messaggi di errore e 4XX risposte sono cresciuti come messaggi di avviso.

Problemi correlati