2012-04-11 32 views
2

Ich habe DEBUG, TEMPLATE_DEBUG und DEBUG_PROPAGATE_EXCEPTIONS auf true gesetzt, und es werden keine Tracebacks im Browser angezeigt?Django zeigt keine Fehlerverfolgung im Browser an - nur 500 Seite

+2

Woher wissen Sie, dass Django überhaupt aufgerufen wird? –

+1

Weiter zu Ignacio Punkt, überprüfen Sie Ihre Protokolle. – Endophage

+0

Überprüfen Sie, ob es Django 500 oder Webserver ist. Wenn Sie einen Fehler in einem Ihrer Middlewares haben, kann dies Djangos Logging-Framework vermeiden und dazu führen, dass der Server 500 selbst anzeigt. – ilvar

Antwort

1

Das folgende ist in settings Modul erforderlich, um nach dem Fehler-Diagnoseseite anzuzeigen:

  • DEBUG Wahr ist
  • Der Client (Browser) vom lokalen Host oder von einem beliebigen IP-Adresse in INTERNAL_IPS aufgeführt verbunden ist .
  • Die Variable TEMPLATE_CONTEXT_PROCESSORS enthält "django.core.context_processors.debug" oder bleibt auf dem Standardwert.

können Sie den Fehler 500 Seiten von Djangos Fehlerseite leicht von anderen Texten wie diese Web-Servers unterscheiden:
„... Es ist schon ein Fehler Es ist berichtet worden ...“ (Dies ist von dem Standard Vorlage.) wenn Sie import handler500 from django.conf.urls (oder django.conf.urls.defaults in alten Django) in der Haupt-URLconf tun.

1

versuchen Sie stattdessen:

set DEBUG = True 
TEMPLATE_DEBUG = DEBUG 
1

Sie könnten einen Fehler in der Middleware in process_request haben, bevor Sie auf die Fehlerseite zu bekommen. Obwohl Sie auf einige Seiten zugreifen könnten, würde dies jedoch vermuten lassen, dass dies nicht das Problem ist.

0

Kommentar DEBUG_PROPAGATE_EXCEPTIONS = True, sollte dies funktionieren. Bitte versuche.

Verwandte Themen