Django Http404 和 DEBUG 模式捕获 22



我在开发过程中使用了staticfiles应用程序,除非打开 DEBUG,否则它不起作用。

从文档中:

警告 仅当 DEBUG 为 True 时,此操作才有效。

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

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

不过,我正在尝试查看我的 Http404 模板,当然它们在调试模式下不起作用。所以我处于第 22 条军规中 - 如果我想查看 404 页面,我必须关闭 DEBUG,但是没有静态文件是服务器,我看不到任何图像等。

您可以简单地假装自己在生产中。跑:

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 中删除该行。

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

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

相关内容

最新更新