關於運行開發服務器,它會說在啓動服務器時發現了0個錯誤。這通常是指您的settings.py
文件和模型中的配置和語法。它只會報告通過啓動代碼路徑出現的錯誤,這通常不會通過您的視圖處理程序。
在修改文件時,開發服務器足夠聰明,可以重新加載自己。語法錯誤會使開發服務器崩潰。
如果您看到一個空白頁面並且GET請求成功返回,那麼您的代碼在Django視角下工作正常。它處理請求並返回響應,但您知道響應不正確。通常,這裏的語法錯誤將導致視圖返回500,您將在視圖中看到返回的調試信息(如果DEBUG = True
),並且您也將在控制檯中看到它。看起來你的拼寫錯誤是有效的python,因爲它成功地通過你的視圖處理程序返回一個空白頁面。除了Django的單元測試之外,除了單元測試以外,沒有什麼可以做的,空白頁可能是有效的響應。
現在,當您從開發轉移到生產時,您可能想知道頁面何時出現錯誤。來處理錯誤和其他消息。 settings.py
文件中的默認值,設置了一個mail_admins
處理程序,處理程序在django.request
上發生錯誤。如果您在設置文件中設置了ADMINS
和EMAIL_BACKEND
,那麼您將通過電子郵件發送堆棧跟蹤以查看服務器上發生的任何500錯誤。隨着你越來越複雜,你可以通過向Python的日誌框架和自定義處理程序發送消息來創建自己的日誌記錄。
import logging
logger = logging.GetLogger(__name__) #using the module name so in your settings.py you can configure different settings per module
logger.info('msg')
logger.error('msg')
我建議尋找到Sentry爲你的錯誤消息處理程序,即不打計數和存儲您的錯誤日誌。
原來,這實際上是一個比鉛更多的問題。當我使用chrome時,我沒有在Django中看到任何「黃頁」錯誤(它們只是空白)。但是,當我使用IE,我得到它們。我將用這些細節創建一個新問題。 – jsexauer
新問題在http://stackoverflow.com/questions/20031556/ – jsexauer
這是有點不準確。在啓動過程中,視圖模塊中的* syntax errors *肯定會被捕獲,因爲Django需要導入視圖才能創建路由映射。但是,它不會在大多數模塊中捕獲任何* runtime *錯誤,但這是一個不同的問題。 – hayavuk