要自定義處理url請求錯誤需要進行三步操作:
主要錯誤有:
404錯誤:page not found視圖
500錯誤:server error視圖
400錯誤:bad request視圖
以404錯誤為例,500、404同理
我這里創建了一個應用,名為booktest
Step1:修改settings.py
DEBUG = True —-改為—-> DEBUG = False
ALLOWED_HOSTS = [] —-改為—-> ALLOWED_HOSTS = [‘*’, ]
注:未更改將顯示調試視圖,而不是錯誤視圖
Step2:創建模板文件
在templates目錄下的booktest下創建404.html:
<!DOCTYPE html>
<html>
<head>
<title>404</title>
</head>
<body>
自定義404處理
<hr>
網頁找不到
</body>
</html>
Step3:修改views.py文件
添加函數 page_not_found()
def page_not_found(request):return render(request, 'booktest/404.html')
Step4:修改項目下的urls.py(框架自帶的)
注:不是應用下的urls.py,即這里不是:booktest/urls.py
添加代碼:
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('booktest.urls')),
]
handler404 = "booktest.views.page_not_found"
即:handler404 = “應用名稱.views.函數名稱”
同理:
handler500 = “應用名稱.views.函數名稱”
handler404 = “應用名稱.views.函數名稱”
Step3:修改views.py文件添加函數 page_not_found()
def page_not_found(request): return render(request, 'booktest/404.html')12Step4:修改項目下的urls.py(框架自帶的)注:不是應用下的urls.py,即這里不是:booktest/urls.py 添加代碼:
urlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'^', include('booktest.urls')),]handler404 = "booktest.views.page_not_found"12345即:handler404 = “應用名稱.views.函數名稱” 同理: handler500 = “應用名稱.views.函數名稱” handler404 = “應用名稱.views.函數名稱”
請求一個不存在的url:--------------------- 作者:GYT0313 來源:CSDN 原文:https://blog.csdn.net/qq_38038143/article/details/80105653 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
