Django 1.11 404 Page,Debug = True

3 python django django-templates django-views

没有让事情变得困难,我只想展示一个带有静态文件的特殊404渲染.

如果设置DEBUG = False,则可以在urls.py中使用

handler404 = 'app.views.handler404'
Run Code Online (Sandbox Code Playgroud)

但它没有静态文件.我不想为一个简单的应用程序安装Web服务器.

随着DEBUG = True网址

url(r'^404/$', views.handler400)
Run Code Online (Sandbox Code Playgroud)

未覆盖默认页面未找到(404)页面.

实现渲染的简单方法是什么,例如当DEBUG = True时用staticfiles 键入localhost/asdfhjfsda

提前致谢...

Dar*_*ody 6

发布Django 1.9的最简单方法是urls.py:

from django.views.defaults import page_not_found

url(r'^404/$', page_not_found, {'exception': Exception()})
Run Code Online (Sandbox Code Playgroud)

它想要一个例外,给它一个例外:)


Evh*_*vhz 1

在 django 1.10文档中:

Django 1.9 中的更改: page_not_found() 的签名已更改。该函数现在接受第二个参数,即触发错误的异常。异常的有用表示也在模板上下文中传递。

查看您的'app.views.handler404'定义,它可能会丢失一个参数,也许这就是r'^404/$'处理程序不为您提供正确的方法调用的原因。