1. 程式人生 > >Django 之一些request封裝的常用功能

Django 之一些request封裝的常用功能

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封裝的常用功能