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 乙個列表,在這個列表中可以存放所有的模板路徑,以後在檢...