gpt4 book ai didi

python - Django 自定义处理程序中的参数数量错误

转载 作者:行者123 更新时间:2023-12-02 00:06:12 25 4
gpt4 key购买 nike

我正在尝试为页面 404 创建一个自定义处理程序,但我遇到了这个错误。我尝试了很多解决方法,但我的观点似乎不起作用?

handler404 = 'DEMOPROJECT.views.handler404'
handler500 = 'DEMOPROJECT.views.handler500'

def handler404(request, exception, template_name="404.html"):
response = render_to_response('/not-found')
response.status_code = 404
return render(request, response)

def handler500(request, exception, template_name="500.html"):
response = render_to_response('/not-found')
response.status_code = 500
return render(request, response)
ERRORS:
?: (urls.E007) The custom handler500 view 'DEMOPROJECT.views.handler500' does not take the correct number of arguments (request).

System check identified 1 issue (0 silenced).

最佳答案

根据他们使用的 Django 版本, View 会相互接收。在official documentation你可以引用减少的参数。

它看起来像这样,对于 Django > 2.0:

def handler404(request, exception, template_name="404.html"):
response = render_to_response(template_name)
response.status_code = 404
return response

def handler500(request, *args, **argv):
return render(request, '500.html', status=500)

如果您不打算修改 View 的上下文,一个可能更简单的解决方案是直接创建相应的模板。默认情况下,如果他们能找到这些模板,他们将使用这些模板,分别是:404.html500.html403.html400.html.

并且您必须将它们放在模板目录中,如下所示。

mysite/
mysite/
__init__.py
settings.py
...
polls/
urls.py
view.py
...
templates/
404.html
500.html
manage.py

另外,这个问题是duplicated .

关于python - Django 自定义处理程序中的参数数量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60507625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com