Django 之一些request封裝的常用功能
阿新 • • 發佈:2018-01-29
color ref 設置 用戶密碼 clas ati 擴展 tle span
一些常用的request對象屬性
request.scheme:代表請求的方案,http或者https
request.path:請求的路徑,比如請求127.0.0.1/org/list,那這個值就是/org/list
request.method:表示請求使用的http方法,GET或者POST請求
request.encoding:表示提交數據的編碼方式
request.GET:獲取GET請求
request.POST:獲取post的請求,比如前端提交的用戶密碼,可以通過request.POST.get()來獲取
另外:如果使用 POST 上傳文件的話,文件信息將包含在 FILES 屬性中
request.COOKIES:包含所有的cookie
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 —— 單個字符串形式的查詢字符串(未解析過的形式)。
- REMOTE_ADDR —— 客戶端的IP 地址。
- REMOTE_HOST —— 客戶端的主機名。
- REMOTE_USER
- REQUEST_METHOD —— 一個字符串,例如"GET" 或"POST"。
- SERVER_NAME —— 服務器的主機名。
- SERVER_PORT —— 服務器的端口(是一個字符串)
request.user:一個 AUTH_USER_MODEL 類型的對象,表示當前登錄的用戶。
如果用戶當前沒有登錄,user 將設置為 django.contrib.auth.models.AnonymousUser 的一個實例。你可以通過 is_authenticated() 區分它們
把request傳給前端的時候,前端可以通過 {% if request.user.is_authenticated %}判斷用戶時候登錄
request.session:一個既可讀又可寫的類似於字典的對象,表示當前的會話
擴展閱讀:Django中的Request和Response(比本文內容全)
Django 之一些request封裝的常用功能