Django入門-6:檢視定義和錯誤檢視
阿新 • • 發佈:2019-02-19
定義檢視
本質就是一個函式
檢視的引數
一個HttpRequest例項
通過正則表示式組獲取的位置引數
通過正則表示式組獲得的關鍵字引數
在應用目錄下預設有views.py檔案,一般檢視都定義在這個檔案中
如果處理功能過多,可以將函式定義到不同的py檔案中
-
新建views1.py
#coding:utf-8
from django.http importHttpResponse
def index(request):
returnHttpResponse("你好")
在urls.py中修改配置
from .import views1
url(r'^$', views1.index, name='index'),
錯誤檢視
Django原生自帶幾個預設檢視用於處理HTTP錯誤
404 (page not found) 檢視
defaults.page_not_found(request, template_name='404.html')
預設的404檢視將傳遞一個變數給模板:request_path,它是導致錯誤的URL
如果Django在檢測URLconf中的每個正則表示式後沒有找到匹配的內容也將呼叫404檢視
如果在settings中DEBUG設定為True,那麼將永遠不會呼叫404檢視,【正式環境設定為False】
而是顯示URLconf並帶有一些除錯資訊
在templates中建立404.html
- 在setting.py中設定
-
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
找不到了
<hr/>
{{request_path}}
</body>
</html>
- 在settings.py中修改除錯
DEBUG =False
ALLOWED_HOSTS =['*',]
- 請求一個不存在的地址
http://127.0.0.1:8000/test/
500 (server error) 檢視
defaults.server_error(
在檢視程式碼中出現執行時錯誤
預設的500檢視不會傳遞變數給500.html模板
如果在settings中DEBUG設定為True,那麼將永遠不會呼叫505檢視,
而是顯示URLconf並帶有一些除錯資訊
400 (bad request) 檢視
defaults.bad_request(request, template_name='400.html')
錯誤來自客戶端的操作
當用戶進行的操作在安全方面可疑的時候,例如篡改會話cookie