在一些**開發中,經常會需要捕獲一些錯誤,然後將這些錯誤返回比較優美的介面,或者是將這些錯誤的請求做一些日誌儲存。1.404:伺服器沒有指定的url。
3.405:請求的method錯誤。
4.400:bad request,請求的引數錯誤。
5.500:伺服器內部錯誤,一般是**出bug。
6.502:一般是部署的時候見得多,一般是nginx啟動了,然後uwsgi有問題。在碰到比如404,500錯誤的時候,想要返回自己定義的模板,那麼可以直接在templates資料夾下建立相應的**html模板檔案。發生相應的錯誤之後,會將指定的模板返回回去。
需要注意的是,如果想要自己定義的狀態碼模板起作用的話,就要在settings.py檔案中設定:debug = false(一定要設定debug為false,如果設定debug為true,就不會渲染定義的錯誤的狀態碼的檔案,只是會返回乙個錯誤:告訴使用者哪個地方出錯了。)和allowed_hosts = [『127.0.0.1』](將debug設定為false之後,就要設定allowed_hosts即可以使用哪個ip位址進行訪問。)
1. 500的錯誤:****現bug。示例**如下:
-因為分母不能為0,所以此時就會出現500的錯誤,即伺服器端的diamante出現bug。-
->2. 400的錯誤:在瀏覽器中輸入乙個錯誤的url,就會出現404錯誤。
3.403錯誤:使用者沒有許可權訪問該頁面。比如,定義乙個使用者在訪問頁面的時候要傳入乙個?username=***,才能夠訪問該頁面,否者的話,就會返回乙個自定義的403.html。示例**如下:
# 1. 在專案下新建乙個views.py檔案,定義乙個index檢視,
# 2. 在urls.py檔案中進行檢視與url之間的對映,示例**如下:
from django.urls import path, include
urlpatterns =
[ path(
'errors/'
, include(
'errors.urls'))
,]# 並且在errors中的views.py檔案中定義403的檢視函式,示例**如下:
from django.shortcuts import render
defview_403
(request)
:return render(request,
'errors/static/403.html'
)# 4.在errors下的urls.py檔案中定義檢視函式與url之間的對映,示例**如下:
from django.urls import path
from
.import views
'errors'
urlpatterns =
[# 可以定義返回錯誤的頁面的url為html
path(
'403.html'
, views.view_403, name=
'403'),
path(
'405.html'
, views.view_405, name=
'405'),
]
MySql錯誤處理 錯誤處理的例子
有幾種錯誤處理的宣告形式 如果任何錯誤 不是 not found 設定 l error 為 1 後繼續執行 declare continue handler for sqlexception set l error 1 如果發生任何錯誤 不是 not found 執行 rollback和產生一條錯誤...
狀態捕獲及錯誤處理機制
解決問題 宿主程式如何知道sql語句的執行狀態,是否發生錯誤 1.狀態捕獲及其處理 1 狀態 嵌入式sql語句的執行狀態,尤指出錯狀態,有時程式需要知道這些狀態並進行處理 2 嵌入式sql程式狀態捕獲的構成 1 設定sql通訊區 一般在嵌入式sql程式的開始處便設定 exec sql include...
MySql錯誤處理(三) 錯誤處理的例子
mysql錯誤處理 三 錯誤處理的例子 有幾種錯誤處理的宣告形式 如果任何錯誤 不是 not found 設定 l error 為 1 後繼續執行 declare continue handler for sqlexception set l error 1 如果發生任何錯誤 不是 not foun...