您好,登錄后才能下訂單哦!
這篇文章主要介紹Django怎么從request中獲取前端數據,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
go是golang的簡稱,而golang可以做服務器端開發,且golang很適合做日志處理、數據打包、虛擬機處理、數據庫代理等工作。在網絡編程方面,它還廣泛應用于web應用、API應用等領域。
###request
如果說 urls.py 是 Django 中前端頁面和后臺程序橋梁,那么 request 就是橋上負責運輸的小汽車
可以說后端接收到的來至前端的信息幾乎全部來自于requests中。
##request對象的屬性
request.MATE獲取的是一個標準的python字典。它包含了所有的HTTP請求信息
1 CONTENT_LENGTH —— 請求的正文的長度(是一個字符串)。
2 CONTENT_TYPE —— 請求的正文的MIME 類型。
3 HTTP_ACCEPT —— 響應可接收的Content-Type。
4 HTTP_ACCEPT_ENCODING —— 響應可接收的編碼。
5 HTTP_ACCEPT_LANGUAGE —— 響應可接收的語言。
6 HTTP_HOST —— 客服端發送的HTTP Host 頭部。
7HTTP_REFERER —— Referring 頁面。
8 HTTP_USER_AGENT —— 客戶端的user-agent 字符串。
9 QUERY_STRING —— 單個字符串形式的查詢字符串(未解析過的形式)。
10 REMOTE_ADDR —— 客戶端的IP 地址。
11 REMOTE_HOST —— 客戶端的主機名。
12 REMOTE_USER —— 服務器認證后的用戶。
13 REQUEST_METHOD —— 一個字符串,例如"GET" 或"POST"。
14 SERVER_NAME —— 服務器的主機名。
15 SE0RVER_PORT —— 服務器的端口(是一個字符串)
獲取請求的源主機:HttpRequest.get_host()
請求的方式,即http或者是https
請求的路徑,這里的路徑是指相對路徑,也就是說一個登陸后臺頁面的請求:http://127.0.0.1:8000/admin 的路徑是 /admin
獲取完整路徑(包括參數):HttpRequest.get_full_path()
獲取絕對url: HttpRequest.bulid_absolute_uri(location) 此參數默認為完整路徑
請求提交的數據的編碼方式
request.session 獲取的是一個類似于字典的對象,可以進行讀取寫入操作,常用來保存一些數據來實現會話跟蹤技術。因為 HTTP 是一個無狀態,不連續的協議。
如果想讓服務器記住當前的訪問對象,就需要記錄請求者的一些信息來達到這個目的。
# 設置session request.session["name"] = "root" # 獲取session name = request.sessin["name"]
!!!說到這里需要提一下,django會默認為session使用json序列化。json序列化只能序列化一些基本數據類型,如數字,字符串,列表等。
所以session不能直接存儲對象.可以簡單的在settings中添加 SESSION_SERIALIZER = "django.contrib.sessions.serializers.PickleSerializer"
與session類似,區別是cookies數據是保存在客戶端,session數據是保存在服務端。
相對而言session更安全,cookies在不同的瀏覽器上保存數據的大小限制也不同。但是,存在即合理。
cooike自有它的好處這里不多說。
# 設置cookies response.set_cookie('name','root') # 設置加密cookies response.set_cookie('passsword','123456',salt='@#$!%^&') # 獲取cookie request.COOKIES.get("name") # 獲取加密的cookie request.get_signed_cookie("password",salt="@#$!%^&")
請求方式 POST/GET…
####下面正式開始獲取數據
就是在這里遇見了一些小問題,所以導致我寫這篇文章來記錄一下
請求的主體,返回的是一個字符串
請求的數據部分,返回的是一個字典對象(除此之外,與request.body是很類似的)
獲取post方式表單中提交的數據
request.POST["username"] request.POST.get("username")
獲取get方式表單中或url提交的數據
request.GET["username"] request.GET.get("username")
補充:django框架下,前端調取數據詳解
首先話癆一下,公司服務端使用的是python語言,而我們的后臺項目使用的django框架,前端調取數據也是基于框架輸出的。下面總結一下django框架下,前端調取數據的各種情況。
在前端頁面調取數據,我們最常使用的方式總結為以下幾種:
數據直接輸出、for循環輸出、if判斷輸出、日期格式化。
下面我們針對每一種情況看看django是怎樣輸出的
{{ form.deliver_institution }}
{% for item in form.newborn_hearing_screening %} {% if forloop.first %} {% else %} {{ item }} {% endif %} {% endfor %}
{{ my_date|date:"Y-m-d" }}
以上是“Django怎么從request中獲取前端數據”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。