django 使用 request 獲取瀏覽器發(fā)送的參數(shù)示例代碼
獲取數(shù)據(jù)(四種方式)
1. url: 需要正則去匹配
url(r'^index/(num)/$',view.index)
匹配到的參數(shù)會(huì)自動(dòng)傳入對(duì)應(yīng)的視圖函數(shù)
也可以給匹配到的參數(shù)起名字?P<num>
url(r'^index/(?P<num1>\d*)(?P<num2>\w*)$',)
使用url傳參的時(shí)候,要么都使用位置參數(shù),要么都使用給參數(shù)起名字的方式
也可以通過request.path獲取到url然后獲取相應(yīng)的參數(shù).
如訪問127.0.0.1:8000/index/
則request.path = '/index/'
2. ?號(hào)后面的鍵值對(duì)(又叫查詢字符串):
如
index/?num=55&num2=66&num=77
request.GET.get('num') # 獲取的是77
request.GET.getlist('num') # 獲取num的所有值
request.GET.get('num2')
3. 請(qǐng)求體
request.POST.get() 獲取表單數(shù)據(jù)
request.body 獲取非表單數(shù)據(jù),如json
request.body返回的是一個(gè)byte的對(duì)象
b'{"key":"value"}',可以通過下面方式獲取值
data = eval(request.body.decode()).get('key')
data1 = json.loads(request.body).get('key')
#如果request.body沒有數(shù)據(jù)上面兩條語句都會(huì)報(bào)錯(cuò)
4. 報(bào)文頭
request.META 獲取請(qǐng)求頭信息,
django會(huì)自動(dòng)把獲取到的請(qǐng)求頭全部轉(zhuǎn)化為大寫,并在前面加上HTTP,如:
請(qǐng)求頭: User-Agent:*****
獲取方式: request.META.get('HTTP_USER_AGENT')
•代碼示例(獲取請(qǐng)求數(shù)據(jù))
# 獲取正則匹配到的數(shù)據(jù),num1未位置參數(shù),num2為命名參數(shù),
def index(request,num2=None, num1=None):
print(num2)
# 構(gòu)造響應(yīng)數(shù)據(jù)
reNT')
sp = HttpResponse('hello world')
# 獲取請(qǐng)求頭
header = request.META.get('HTTP_USER_AGE)
# 獲取地址
path = request.path
# 獲取 ? 后面的數(shù)據(jù)(獲取查詢字符串?dāng)?shù)據(jù))
para = request.GET
# 獲取json數(shù)據(jù)
json_data = request.body
data = eval(request.body.decode()).get('asd')
data1 = json.loads(request.body).get('asd')
# 獲取表單數(shù)據(jù)
form_data = request.POST
# 獲取請(qǐng)求方法
method = request.method
# 獲取文件
file_obj = request.FILES.get('image')
return resp
總結(jié)
以上所述是小編給大家介紹的django 使用 request 獲取瀏覽器發(fā)送的參數(shù),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Python基于opencv實(shí)現(xiàn)的簡(jiǎn)單畫板功能示例
這篇文章主要介紹了Python基于opencv實(shí)現(xiàn)的簡(jiǎn)單畫板功能,結(jié)合實(shí)例形式分析了Python使用opencv模塊進(jìn)行圖形繪制的相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
深入探索Django中間件的應(yīng)用場(chǎng)景
Django中間件是一種可插拔的應(yīng)用程序組件,可在請(qǐng)求和響應(yīng)處理過程中修改Django的行為。中間件可用于處理請(qǐng)求、響應(yīng)、異常等,還可用于實(shí)現(xiàn)身份驗(yàn)證、緩存、性能監(jiān)控等常用功能。通過深入探索中間件的應(yīng)用場(chǎng)景,可以提高Django應(yīng)用程序的可擴(kuò)展性和靈活性2023-05-05
Python基于whois模塊簡(jiǎn)單識(shí)別網(wǎng)站域名及所有者的方法
這篇文章主要介紹了Python基于whois模塊簡(jiǎn)單識(shí)別網(wǎng)站域名及所有者的方法,簡(jiǎn)單分析了Python whois模塊的安裝及使用相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
Keras實(shí)現(xiàn)DenseNet結(jié)構(gòu)操作
這篇文章主要介紹了Keras實(shí)現(xiàn)DenseNet結(jié)構(gòu)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Python實(shí)現(xiàn) 多進(jìn)程導(dǎo)入CSV數(shù)據(jù)到 MySQL
本文給大家分享的是使用python實(shí)現(xiàn)多進(jìn)程導(dǎo)入CSV文件數(shù)據(jù)到MySQL的思路方法以及具體的代碼分享,有相同需求的小伙伴可以參考下2017-02-02
Python利用解析JSON實(shí)現(xiàn)主機(jī)管理
JSON 是一種獨(dú)立于編程語言的數(shù)據(jù)格式,因此在不同的編程語言中都有對(duì)應(yīng)的解析器和生成器,本文主要介紹了Python如何通過解析JSON實(shí)現(xiàn)主機(jī)管理,感興趣的小伙伴可以了解一下2023-12-12

