Django Http404和DEBUG模式捕获22

时间:2012-06-07 15:37:58

标签: python django http-status-code-404

我在开发过程中使用staticfiles应用,除非打开DEBUG,否则无效。

来自the docs

  

警告只有在DEBUG为True时才会有效。

     

这是因为这种观点非常低效,而且可能不安全。   这仅适用于本地开发,不应使用   在生产中。

     

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

我正在尝试查看我的Http404模板,当然他们在DEBUG模式下工作。所以我陷入困境22 - 如果我想查看404页面我必须关闭DEBUG,但是没有静态文件是服务器而我看不到任何图像等。

2 个答案:

答案 0 :(得分:3)

你可以简单地假装你正在制作中。运行:

python manage.py collectstatic --noinput

将所有文件复制到STATIC_ROOT。然后,暂时将以下内容添加到urls.py:

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

每次更改任何静态文件时都必须运行collectstatic,因此我建议使用Firebug等实时编辑,然后保存成品。此外,请记住删除static目录,并在完成后从urls.py中删除该行。

答案 1 :(得分:-1)

我自己没试过,但你可以尝试设置DEBUG_PROPAGATE_EXCEPTIONS = True

https://docs.djangoproject.com/en/dev/ref/settings/