2011-09-16 67 views
0

在開發過程中,我有DEBUG = True,並且有調試跟蹤。然後我切換到DEBUG = False來測試404/500頁面。沒有使用Django設置的調試跟蹤調試= True

現在,在我切換回DEBUG = True後,我得不到任何跟蹤,只有「內部服務器錯誤」消息。

如何獲取這些調試跟蹤?

感謝 馬丁Weberg

+2

如果您運行的是Apache,您需要重新加載才能看到源代碼中的更改。 –

+0

你的服務器配置是什麼樣的? (apache,nginx等)還是隻使用內置的runserver?無論哪種方式,你需要停止你的服務器並重新啓動它。我在使用重啓命令而不是停止/啓動和代碼設置時遇到了問題。py沒有更新 –

+0

對不起所有人......我在我的項目文件夾中搜索了「debug = False」,並在settings.py文件中第二次發現它。謝謝大家花費的時間... –

回答

0

您如何檢查DEBUG設置爲True?嘗試

蟒蛇manage.py殼

在Python提示符輸入

導入設置

settings.DEBUG

的結果是什麼?

如果它是False,則調試可能會在local_settings.py文件(或其他地方)中重置。然後從項目目錄中執行grep -r「DEBUG = False」*。

如果settings.DEBUG的結果爲True,則apache加載錯誤的wsgi,或者wsgi加載錯誤的settings.py文件。

wsgi使用哪個settings.py文件?

+0

我在setting.py中發現了第二個「debug = False」....謝謝你將我推向正確的方向。 –

+1

'import settings'不是導入設置的好方法,而是使用'from django.conf import settings' – Chemary

0

嘗試輸入無效的路徑。如果404.html將apear這意味着地方DEBUG仍然設置爲False,或像UKU Loskit寫道,你必須重新加載服務器

編輯:

  1. 運行的Django內置的服務器,並看到結果
  2. 打印DEBUG在settings.py
+0

現在我再次檢查。 DEBUG = True我重新啓動了Apache。 現在,當我輸入一個無效的URL時,我收到了404.html消息。 想法? –

0

您可以通過執行檢查調試設置:

python manage.py shell 
import settings 
print settings.DEBUG 
0

第一次檢查DEBUG設置從

$ python manage.py shell 
In [1]: from django.conf import settings 

In [2]: settings.DEBUG 
Out[2]: True 

django.conf.settings抽象的默認設置和具體的站點設置的概念;它提供了一個單一的界面。它還會將使用設置的代碼從您的設置位置分離出來。 Docs