Django學習筆記 主動觸發404異常

2021-10-03 23:50:42 字數 1184 閱讀 1766

http 404異常是表示請求頁面未找到。在django中我們可以通過raise http404來丟擲這個異常。

【注意】如果在settings.py中開啟了debug模式的話,會出現乙個預設的錯誤頁面用於顯示錯誤資訊,需要將debug改為false才能觸發成功。

下面為根據捕獲的引數向資料庫查詢資料,如果找到就顯示在對應頁面,否則觸發404錯誤頁面:

from django.http import http404 #需要新增 http404 引用

# 詳情檢視

defdetail

(request,poll_id)

:try

: p=poll.objects.get(pk=poll_id)

except poll.doesnotexist:

# 捕獲異常

raise http404 # 觸發404錯誤

return render_to_response(『polls/details.html』,

)上述**匯入了http404物件。在進行資料庫查詢時,如果找不到資料就捕獲poll.doesnotexist異常,並觸發http404異常。由於這種「如果找不到,就丟擲404錯誤」的場景太常用,所以django中提供了get_object_or_404這樣的快捷方法,其效果和上面的**是一樣的:

# 詳情檢視

defdetail

(request,poll_id)

: p=get_object_or_404(poll,pk=poll_id)

return render_to_response(

'polls/details.html』,

)

參考鏈結

Django從頭學 學習筆記4

在專案目錄下的 init py檔案中,新增 import pymysql pymysql.install as mysqldb 然後修改settings.py檔案中的databases為 databases 物件 關係 對映 極大的減輕了工作量,不需要因為資料庫的變更而修改 orm的任務是 1 根據...

Django學習筆記4 建立模型

專案環境搭建好了可以開工了。django規定,如果要使用模型,必須要建立乙個應用。通過 djaong 編寫的每個應用都是由python包組成的,這些包存放在你的python path 中並且遵循一定的命名規範。django 提供了個實用工具可以自動生成乙個應用的基本目錄架構,因此你可以專注於編寫 而...

Django 筆記4 模板

django官方文件 英文 django 中文文件 配置templates 專案的settings.py檔案中,有乙個 templates 配置,這個配置包含了模板引擎的配置,模板查詢路徑的配置,模板上下文的配置等。templates dirs 乙個列表,在這個列表中可以存放所有的模板路徑,以後在檢...