2012-04-11 79 views
2

我有DEBUG,TEMPLATE_DEBUG和DEBUG_PROPAGATE_EXCEPTIONS設置爲true,並且沒有追溯被顯示給瀏覽器?Django不顯示錯誤追溯到瀏覽器 - 只有500頁

+2

你怎麼知道Django甚至被調用? – 2012-04-11 02:53:58

+1

除了Ignacio的觀點,請檢查您的日誌。 – Endophage 2012-04-11 02:58:20

+0

檢查它是否是Django的500或Web服務器的一個。如果您的某個中間件出現錯誤,它可以避免Django的日誌記錄框架並導致服務器自身顯示500。 – ilvar 2012-04-11 03:02:20

回答

1

settings模塊需要以下爲了錯誤之後顯示診斷頁:

  • DEBUG爲True
  • 客戶端(Web瀏覽器)被從本地主機或從INTERNAL_IPS列出的任何IP地址連接。
  • 變量TEMPLATE_CONTEXT_PROCESSORS包含"django.core.context_processors.debug"或保留默認值。

您可以通過不同的文字像這樣從Django的錯誤頁面很容易區分Web服務器的錯誤500頁:
「......還有的是它的報道的錯誤......」(這是默認) 如果在主urlconf中執行import handler500 from django.conf.urls(或舊Django中的django.conf.urls.defaults)。

1

試試這個:

set DEBUG = True 
TEMPLATE_DEBUG = DEBUG 
1

你可以有在process_request中間件錯誤之前,你可以得到的錯誤頁面。雖然,你可以訪問一些頁面會表明這不是問題。

0

評論DEBUG_PROPAGATE_EXCEPTIONS =真,這應該工作。請嘗試。