2013-07-24 9 views
15

Djangos runserver Befehl erscheint nicht ausgibt Spur Stapel, wenn ich anhängen --traceback --verbosity 2:Stack-Trace von manage.py runserver nicht

➫ 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 

gibt es andere Befehlszeilenoptionen oder Protokollkonfiguration kann ich hinzufügen runserver bekommen Drucken Sie einen Stapel-Trace, wenn es einen 500 gibt?

+0

Ich glaube nicht, dass es einen solchen Schalter gibt. Normalerweise verwenden wir 'DEBUG = True'. In diesem Fall werden Traceback und andere Informationen an den Browser gesendet. Warum reicht das nicht aus? –

+0

DEBUG ist bereits auf True gesetzt. Ich versuche ein AJAX-basiertes System zu debuggen. –

+0

Dann wahrscheinlich möchten Sie dies: http://stackoverflow.com/questions/14171520/how-to-debug-the-ajax-request-in-django. Ich denke du kannst auch Firebug verwenden, was in diesem Thread nicht erwähnt wird. –

Antwort

28

Vereinbart, dass dies praktisch ist, insbesondere für MVVM-zentrische App-Entwicklung (z. B. Angular/Ember Front-End). Auch das ist hilfreich, wenn andere das Front-End testen.

Wie Sie erwähnt haben, wird dies nicht von DEBUG=True zur Verfügung gestellt. Sie können einen Stacktrace hinzufügen, wenn durch Zugabe der folgenden auf die settings.py Datei ./manage.py runserver ausgeführt wird:

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

Diese Syntax stammt aus der Django-Dokumentation Configuring Logging und kann weiter die Menge an Konsolen- zu erhöhen oder verringern modifiziert werden protokollieren.

Beachten Sie auch, dass 5XX Antworten als Fehlermeldung ausgelöst werden und 4XX- Antworten werden als Warnmeldungen ausgelöst.

Verwandte Themen