Django之404、500、400錯誤處理


要自定義處理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 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM