如果在 django 的 urls.py 中找不到,则将任何 url 重定向到 404.html
Redirect any urls to 404.html if not found in urls.py in django
如果 urls.py 中不存在任何类型的 url 模式,我如何将其重定向到创建的页面“404.html”页面而不是被显示错误姜戈。
创建一个视图来呈现您创建的 404.html 并将其设置为 urls.py 中的 handler404。
handler404 = 'app.views.404_view'
如果启用调试,Django 将呈现调试视图。否则,如果它不存在,它将按照 handler404 中指定的方式为所有类型的页面呈现 404 页面。
关于 Customizing error views 的 Django 文档。
查看 this 答案以获得完整示例。
在您的 views.py 中,只需添加以下代码(无需在 urls.py 中更改任何内容)。
from django.shortcuts import render_to_response
from django.template import RequestContext
def handler404(request):
response = render_to_response('404.html', {},
context_instance=RequestContext(request))
response.status_code = 404
return response
将自定义 404.html 放入模板目录。
source : click here
转到您的项目 settings.py
并将 DEBUG = True
设置为 DEBUG = False
然后 Django 将所有未设置的模式重定向到未找到。
此外,如果您想自定义 404 模板,请在您的项目中 urls.py
设置
handler404 = 'app.views.404_view'
那么在你的项目中view.py
from django.shortcuts import render_to_response
from django.template import RequestContext
def handler404(request):
response = render_to_response('404.html', {},
context_instance=RequestContext(request))
response.status_code = 404
return response
最后,在您的 templates
中添加 404.html
并填写您想要向最终用户显示的内容。
您的 view
或 url
中无需更改任何内容。
只需执行这 2 个步骤,在您的 settings.py
中执行以下操作
DEBUG = False
ALLOWED_HOSTS = ["*"]
然后在您的应用程序目录(本例中为 myapp)中,创建 myapp/templates/404.html
,其中 404.html
是您的自定义错误页面。就是这样。
如果 urls.py 中不存在任何类型的 url 模式,我如何将其重定向到创建的页面“404.html”页面而不是被显示错误姜戈。
创建一个视图来呈现您创建的 404.html 并将其设置为 urls.py 中的 handler404。
handler404 = 'app.views.404_view'
如果启用调试,Django 将呈现调试视图。否则,如果它不存在,它将按照 handler404 中指定的方式为所有类型的页面呈现 404 页面。
关于 Customizing error views 的 Django 文档。
查看 this 答案以获得完整示例。
在您的 views.py 中,只需添加以下代码(无需在 urls.py 中更改任何内容)。
from django.shortcuts import render_to_response
from django.template import RequestContext
def handler404(request):
response = render_to_response('404.html', {},
context_instance=RequestContext(request))
response.status_code = 404
return response
将自定义 404.html 放入模板目录。
source : click here
转到您的项目 settings.py
并将 DEBUG = True
设置为 DEBUG = False
然后 Django 将所有未设置的模式重定向到未找到。
此外,如果您想自定义 404 模板,请在您的项目中 urls.py
设置
handler404 = 'app.views.404_view'
那么在你的项目中view.py
from django.shortcuts import render_to_response
from django.template import RequestContext
def handler404(request):
response = render_to_response('404.html', {},
context_instance=RequestContext(request))
response.status_code = 404
return response
最后,在您的 templates
中添加 404.html
并填写您想要向最终用户显示的内容。
您的 view
或 url
中无需更改任何内容。
只需执行这 2 个步骤,在您的 settings.py
中执行以下操作
DEBUG = False
ALLOWED_HOSTS = ["*"]
然后在您的应用程序目录(本例中为 myapp)中,创建 myapp/templates/404.html
,其中 404.html
是您的自定义错误页面。就是这样。