2012-06-07 48 views
4

我在開發過程中使用staticfiles應用程序,除非DEBUG打開,否則這不起作用。Django Http404和DEBUG模式捕獲22

the docs

警告如果這是DEBUG真纔有效。

這是因爲這種觀點非常低效,可能不安全。 這隻適用於本地開發,不應該在生產中使用 。

此外,使用staticfiles_urlpatterns時,您的STATIC_URL 設置不能爲空或完整的URL,例如 http://static.example.com/

我想查看我的HTTP404模板,不過,當然他們做在調試模式下不工作。所以我在捕捉22 - 如果我想查看404頁面我必須關閉調試,但沒有靜態文件是服務器,我看不到任何圖像等。

回答

3

您可以簡單地假裝你正在生產。運行:

​​

要將所有文件複製到STATIC_ROOT。然後,臨時添加以下的urls.py:

urlpatterns += patterns('', 
    (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}), 
) 

你必須每次進行更改任何靜態文件的時間運行collectstatic,所以我建議在類似Firebug的實時編輯,然後保存成品。另外,請記得刪除static目錄,並在完成後從urls.py中刪除該行。