色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Django 如何從request中獲取前端數據

瀏覽:3日期:2024-09-10 10:06:10
Django

###request

如果說 urls.py 是 Django 中前端頁面和后臺程序橋梁,那么 request 就是橋上負責運輸的小汽車

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

##request對象的屬性

request.META

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()

request.scheme

請求的方式,即http或者是https

request.path

請求的路徑,這里的路徑是指相對路徑,也就是說一個登陸后臺頁面的請求:http://127.0.0.1:8000/admin 的路徑是 /admin

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

獲取絕對url: HttpRequest.bulid_absolute_uri(location) 此參數默認為完整路徑

request.encoding

請求提交的數據的編碼方式

request.session

request.session 獲取的是一個類似于字典的對象,可以進行讀取寫入操作,常用來保存一些數據來實現會話跟蹤技術。因為 HTTP 是一個無狀態,不連續的協議。

如果想讓服務器記住當前的訪問對象,就需要記錄請求者的一些信息來達到這個目的。

# 設置sessionrequest.session['name'] = 'root'# 獲取sessionname = request.sessin['name']

!!!說到這里需要提一下,django會默認為session使用json序列化。json序列化只能序列化一些基本數據類型,如數字,字符串,列表等。

所以session不能直接存儲對象.可以簡單的在settings中添加 SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'

request.COOKIES

與session類似,區別是cookies數據是保存在客戶端,session數據是保存在服務端。

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

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

# 設置cookiesresponse.set_cookie(’name’,’root’)# 設置加密cookiesresponse.set_cookie(’passsword’,’123456’,salt=’@#$!%^&’)# 獲取cookierequest.COOKIES.get('name')# 獲取加密的cookierequest.get_signed_cookie('password',salt='@#$!%^&')request.method

請求方式 POST/GET…

####下面正式開始獲取數據

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

request.body

請求的主體,返回的是一個字符串

request.data

請求的數據部分,返回的是一個字典對象(除此之外,與request.body是很類似的)

request.POST

獲取post方式表單中提交的數據

request.POST['username']request.POST.get('username')request.GET

獲取get方式表單中或url提交的數據

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

補充:django框架下,前端調取數據詳解

首先話癆一下,公司服務端使用的是python語言,而我們的后臺項目使用的django框架,前端調取數據也是基于框架輸出的。下面總結一下django框架下,前端調取數據的各種情況。

在前端頁面調取數據,我們最常使用的方式總結為以下幾種:

數據直接輸出、for循環輸出、if判斷輸出、日期格式化。

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

1、數據直接輸出

{{ form.deliver_institution }}2、for循環和if判斷結合使用

{% for item in form.newborn_hearing_screening %} {% if forloop.first %} {% else %}{{ item }}  {% endif %}{% endfor %}3、日期格式化

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Django
相關文章:
主站蜘蛛池模板: 国产一区二区三区不卡免费观看 | 99久久99这里只有免费费精品 | 亚洲国产大片 | 成人国产在线观看 | 中文字幕亚洲天堂 | 亚洲精品在线播放视频 | 99精品久久久久久久免费看蜜月 | 日本特级视频 | 成年人网站免费观看 | 亚洲欧美日韩综合二区三区 | 一区二区三区在线播放视频 | 性8sex亚洲区入口 | 亚洲精品国产福利一区二区三区 | 国产精品_国产精品_国产精品 | 三级黄色网址 | 成人三级在线观看 | 在线视频第一页 | 日本老熟妇激情毛片 | 一级成人毛片免费观看欧美 | 无套内谢孕妇毛片免费看 | 中文字幕有码在线 | 色欲麻豆国产福利精品 | 国产精品黄在线观看免费软件 | 91精品国产综合久久欧美 | 精品国产午夜久久久久九九 | 特级毛片全部免费播放a一级 | 99久久精品国产免看国产一区 | 国产欧美17694免费观看视频 | 精品视频免费在线观看 | 亚洲欧美专区精品久久 | 欧美综合另类 | 成人网18免费视频 | 92看片淫黄大片一级 | 中文字幕在亚洲第一在线 | 亚洲成a人一区二区三区 | 在线观看国产一区 | 高清免费国产在线观看 | 视频二区在线 | 男女男精品视频网站在线观看 | 国产偷国产偷亚洲高清在线 | 亚洲成人中文字幕 |