# views.py
from django.shortcuts import render
from django.http import HttpResponse
def custom_404_view(request, exception):
return render(request, '404.html', status=404)
def custom_500_view(request):
return render(request, '500.html', status=500)
在上述代码中,custom_404_view 函数处理 HTTP 404 错误,它接受一个 exception 参数,该参数用于接收有关异常的详细信息。custom_500_view 函数处理服务器内部错误(HTTP 500),不接受异常参数。
接下来,在你的应用的 urls.py 文件中,你可以配置 Django 使用这些自定义错误视图:
# urls.py
from django.urls import path
from .views import custom_404_view, custom_500_view
handler404 = 'myapp.views.custom_404_view'
handler500 = 'myapp.views.custom_500_view'
urlpatterns = [
# 此处添加你的其他 URL 模式
]
在上述代码中,handler404 和 handler500 分别设置了处理 HTTP 404 错误和服务器内部错误的视图函数。
最后,确保你的项目的主 urls.py 文件包含了你的应用的 URL 配置:
# project/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')), # 假设你的应用名为 'myapp'
]
现在,当你的应用中发生 HTTP 404 错误时,Django 将使用 custom_404_view 函数来处理,显示你在 404.html 模板中定义的内容。当发生服务器内部错误时,将使用 custom_500_view 函数来处理,显示你在 500.html 模板中定义的内容。
确保在模板目录中创建相应的 HTML 模板文件,并根据需要自定义它们的内容。这只是一个简单的例子,你可以根据实际需求进一步扩展和自定义。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7213/Django