Django默认用 django.views.defaults.page_not_found() 处理404,其定义为:

defaults.page_not_found(request, exception, template_name='404.html')

该view默认调用404.html。也就是说,只要直接修改template目录下的404.html就可以了。

如果想自定义view,确保该函数接受两个参数:request 和 exception,这是Django 2做了改变,和版本1不一样,多了一个 exception 参数。

然后在总的url配置里,指定handler404,比如:

handler404 = 'my_app.views.handler404'

即可。