定義視圖
本質就是一個函數
視圖的參數
- 一個HttpRequest執行個體
- 通過正規表達式組擷取的位置參數
- 通過正規表達式組獲得的關鍵字參數
在應用目錄下預設有views.py檔案,一般視圖都定義在這個檔案中
如果處理功能過多,可以将函數定義到不同的py檔案中
建立views1.py
#coding:utf-8
from django.http import HttpResponse
def index(request):
return HttpResponse("你好")
在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視圖,而是顯示URLconf 并帶有一些調試資訊
- 在templates中建立404.html
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
找不到了
<hr/>
{{request_path}}
</body>
</html>
DEBUG = False
ALLOWED_HOSTS = ['*', ]
http://127.0.0.1:8000/test/
500 (server error) 視圖
- defaults.server_error(request, template_name=‘500.html’)
- 在視圖代碼中出現運作時錯誤
- 預設的500視圖不會傳遞變量給500.html模闆
- 如果在settings中DEBUG設定為True,那麼将永遠不會調
- 505視圖,而是顯示URLconf 并帶有一些調試資訊
400 (bad request) 視圖
- defaults.bad_request(request, template_name=‘400.html’)
- 錯誤來自用戶端的操作
- 當使用者進行的操作在安全方面可疑的時候,例如篡改會話cookie