濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > Django 如何從request中獲取前端數(shù)據(jù)

Django 如何從request中獲取前端數(shù)據(jù)

熱門標(biāo)簽:蓋州市地圖標(biāo)注 浙江電銷卡外呼系統(tǒng)好用嗎 上海機(jī)器人外呼系統(tǒng)哪家好 地圖標(biāo)注微信發(fā)送位置不顯示 南京銷售外呼系統(tǒng)軟件 地圖制圖標(biāo)注位置改變是移位嗎 地圖標(biāo)注的意義點(diǎn) 315電話機(jī)器人廣告 房產(chǎn)電銷外呼系統(tǒng)

Django

###request

如果說 urls.py 是 Django 中前端頁面和后臺(tái)程序橋梁,那么 request 就是橋上負(fù)責(zé)運(yùn)輸?shù)男∑?/p>

可以說后端接收到的來至前端的信息幾乎全部來自于requests中。

##request對(duì)象的屬性

request.META

request.MATE獲取的是一個(gè)標(biāo)準(zhǔn)的python字典。它包含了所有的HTTP請(qǐng)求信息

1 CONTENT_LENGTH —— 請(qǐng)求的正文的長(zhǎng)度(是一個(gè)字符串)。

2 CONTENT_TYPE —— 請(qǐng)求的正文的MIME 類型。

3 HTTP_ACCEPT —— 響應(yīng)可接收的Content-Type。

4 HTTP_ACCEPT_ENCODING —— 響應(yīng)可接收的編碼。

5 HTTP_ACCEPT_LANGUAGE —— 響應(yīng)可接收的語言。

6 HTTP_HOST —— 客服端發(fā)送的HTTP Host 頭部。

7HTTP_REFERER —— Referring 頁面。

8 HTTP_USER_AGENT —— 客戶端的user-agent 字符串。

9 QUERY_STRING —— 單個(gè)字符串形式的查詢字符串(未解析過的形式)。

10 REMOTE_ADDR —— 客戶端的IP 地址。

11 REMOTE_HOST —— 客戶端的主機(jī)名。

12 REMOTE_USER —— 服務(wù)器認(rèn)證后的用戶。

13 REQUEST_METHOD —— 一個(gè)字符串,例如"GET" 或"POST"。

14 SERVER_NAME —— 服務(wù)器的主機(jī)名。

15 SE0RVER_PORT —— 服務(wù)器的端口(是一個(gè)字符串)

獲取請(qǐng)求的源主機(jī):HttpRequest.get_host()

request.scheme

請(qǐng)求的方式,即http或者是https

request.path

請(qǐng)求的路徑,這里的路徑是指相對(duì)路徑,也就是說一個(gè)登陸后臺(tái)頁面的請(qǐng)求:http://127.0.0.1:8000/admin 的路徑是 /admin

獲取完整路徑(包括參數(shù)):HttpRequest.get_full_path()

獲取絕對(duì)url: HttpRequest.bulid_absolute_uri(location) 此參數(shù)默認(rèn)為完整路徑

request.encoding

請(qǐng)求提交的數(shù)據(jù)的編碼方式

request.session

request.session 獲取的是一個(gè)類似于字典的對(duì)象,可以進(jìn)行讀取寫入操作,常用來保存一些數(shù)據(jù)來實(shí)現(xiàn)會(huì)話跟蹤技術(shù)。因?yàn)?HTTP 是一個(gè)無狀態(tài),不連續(xù)的協(xié)議。

如果想讓服務(wù)器記住當(dāng)前的訪問對(duì)象,就需要記錄請(qǐng)求者的一些信息來達(dá)到這個(gè)目的。

# 設(shè)置session
request.session["name"] = "root"
# 獲取session
name = request.sessin["name"]

?。?!說到這里需要提一下,django會(huì)默認(rèn)為session使用json序列化。json序列化只能序列化一些基本數(shù)據(jù)類型,如數(shù)字,字符串,列表等。

所以session不能直接存儲(chǔ)對(duì)象.可以簡(jiǎn)單的在settings中添加 SESSION_SERIALIZER = "django.contrib.sessions.serializers.PickleSerializer"

request.COOKIES

與session類似,區(qū)別是cookies數(shù)據(jù)是保存在客戶端,session數(shù)據(jù)是保存在服務(wù)端。

相對(duì)而言session更安全,cookies在不同的瀏覽器上保存數(shù)據(jù)的大小限制也不同。但是,存在即合理。

cooike自有它的好處這里不多說。

# 設(shè)置cookies
response.set_cookie('name','root')
# 設(shè)置加密cookies
response.set_cookie('passsword','123456',salt='@#$!%^')
# 獲取cookie
request.COOKIES.get("name")
# 獲取加密的cookie
request.get_signed_cookie("password",salt="@#$!%^")

request.method

請(qǐng)求方式 POST/GET…

####下面正式開始獲取數(shù)據(jù)

就是在這里遇見了一些小問題,所以導(dǎo)致我寫這篇文章來記錄一下

request.body

請(qǐng)求的主體,返回的是一個(gè)字符串

request.data

請(qǐng)求的數(shù)據(jù)部分,返回的是一個(gè)字典對(duì)象(除此之外,與request.body是很類似的)

request.POST

獲取post方式表單中提交的數(shù)據(jù)

request.POST["username"]
request.POST.get("username")

request.GET

獲取get方式表單中或url提交的數(shù)據(jù)

request.GET["username"]
request.GET.get("username")

補(bǔ)充:django框架下,前端調(diào)取數(shù)據(jù)詳解

首先話癆一下,公司服務(wù)端使用的是python語言,而我們的后臺(tái)項(xiàng)目使用的django框架,前端調(diào)取數(shù)據(jù)也是基于框架輸出的。下面總結(jié)一下django框架下,前端調(diào)取數(shù)據(jù)的各種情況。

在前端頁面調(diào)取數(shù)據(jù),我們最常使用的方式總結(jié)為以下幾種:

數(shù)據(jù)直接輸出、for循環(huán)輸出、if判斷輸出、日期格式化。

下面我們針對(duì)每一種情況看看django是怎樣輸出的

1、數(shù)據(jù)直接輸出

{{ form.deliver_institution }}

2、for循環(huán)和if判斷結(jié)合使用

{% for item in form.newborn_hearing_screening %}
    {% if forloop.first %}
    {% else %}
        {{ item }}nbsp;
    {% endif %}
{% endfor %}

3、日期格式化

{{ my_date|date:"Y-m-d" }}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • python自動(dòng)化測(cè)試三部曲之request+django實(shí)現(xiàn)接口測(cè)試
  • Django 解決上傳文件時(shí),request.FILES為空的問題
  • django日志默認(rèn)打印request請(qǐng)求信息的方法示例
  • Django之全局使用request.user.username的實(shí)例詳解
  • Django 請(qǐng)求Request的具體使用方法
  • Django框架HttpRequest對(duì)象用法實(shí)例分析
  • 對(duì)Django 中request.get和request.post的區(qū)別詳解

標(biāo)簽:金華 臨汾 克拉瑪依 陽泉 雙鴨山 赤峰 貴州 日照

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Django 如何從request中獲取前端數(shù)據(jù)》,本文關(guān)鍵詞  Django,如何,從,request,中,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Django 如何從request中獲取前端數(shù)據(jù)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Django 如何從request中獲取前端數(shù)據(jù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    两当县| 武义县| 沅江市| 三原县| 嘉荫县| 武夷山市| 双辽市| 屏东县| 姚安县| 常山县| 塘沽区| 涞源县| 会东县| 舒城县| 达孜县| 修文县| 杭州市| 衡东县| 曲水县| 嘉定区| 浏阳市| 宁安市| 台前县| 靖边县| 彩票| 久治县| 汾阳市| 哈尔滨市| 泰兴市| 厦门市| 古田县| 东宁县| 嘉义市| 马公市| 临湘市| 泰州市| 普宁市| 康平县| 龙岩市| 中牟县| 甘洛县|