視圖層(view)
視圖函數,簡稱視圖,本質上是一個簡單的Python函數,它接受Web請求并且返回Web響應。響應的內容可以是HTML網頁,重定向,404錯誤,圖片等任何東西,但本質是返回 響應對象HttpResponse 。
視圖函數的代碼寫哪里都可以,但一般約定俗成設置在項目或應用程序目錄中的 views.py 文件中
視圖案例:
from django.shortcuts import render, HttpResponse, HttpResponseRedirect, redirectimport datetimedef current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html)
解析:
一、HttpRequest對象
請求對象(request)的屬性:
django將請求報文中的請求行、首部信息、內容主題封裝成HttpRequest類中的屬性。除特殊說明外,其他均為只讀
1. request.POST # 前臺Post傳過來的數據,包裝到POST字典中
2. request.GET # 前臺瀏覽器窗口里攜帶的數據,包裝到GET字典中
3. request.method # 前臺請求的方式
4. request.body # post提交的數據,body體的內容,前臺會封裝成:name=lqz&age=18&sex=1
5. request.path # 取出請求的路徑,取不到數據部分
6. request.encoding #一個字符串,表示提交的數據的編碼方式,默認'utf-8'
7. request.META #一個標準的Python 字典,包含所有的HTTP 首部
CONTENT_LENGTH —— 請求的正文的長度(是一個字符串)。
CONTENT_TYPE —— 請求的正文的MIME 類型。
HTTP_ACCEPT —— 響應可接收的Content-Type。
HTTP_ACCEPT_ENCODING —— 響應可接收的編碼。
HTTP_ACCEPT_LANGUAGE —— 響應可接收的語言。
HTTP_HOST —— 客服端發送的HTTP Host 頭部。
HTTP_REFERER —— Referring 頁面。
HTTP_USER_AGENT —— 客戶端的user-agent 字符串。
QUERY_STRING —— 單個字符串形式的查詢字符串(未解析過的形式)。
新聞熱點
疑難解答