我们最近升级到Django 1.10,我们在现场网站上收到此错误:
builtins:TypeError custom_404()得到了一个意外的关键字参数'exception'
代码如下:
urls.py
urlpatterns = [ ... ]
handler404 = global_views.custom_404
handler500 = global_views.custom_500
global_views.py
def custom_404(request, exception, template_name='404.html'):
return page_not_found(request, exception, template_name=template_name)
def custom_500(request, template_name='500.html'):
return server_error(request, template_name=template_name)
我们尝试过此视图的多种变体,但都会导致该错误。
出了什么问题?
答案 0 :(得分:1)
server_error
视图不应将exception
作为参数。它的签名是
defaults.server_error(request, template_name='500.html')
如果您所做的只是致电custom_404
,则不清楚为什么定义了page_not_found
视图。在page_not_found
视图中调用custom_500
非常奇怪。