Django框架HttpRequest對象用法實例分析
本文實例講述了Django框架HttpRequest對象用法。分享給大家供大家參考,具體如下:
1.URL路徑參數
(1)位置參數:使用正則分組,與視圖中的參數一一對應,不可換位置
例:
url(r'^(\d+)/(\d+)/$', views.index) def index(request, 參數1, 參數2): ...
(2)關鍵字參數:參數位置可以變,與關鍵字保持一致即可
例:
url(r'^(?P<value1>\d+)/(?P<value2>\d+)/$', views.index) def index(request, value2, value1): ...
2.QueryDict對象
HttpRequest對象的屬性GET、POST都是QueryDict類型的對象,,QueryDict可以處理一鍵多值的問題。
(1)get:根據鍵獲取值,如果有多個值,則獲取最后一個。
get('鍵', 默認值)
(2)getlist:根據鍵獲取值,值為列表形式。
getlist('鍵', 默認值)
3.查詢字符串Query String
請求路徑中的查詢字符串(?k1=1&k2=v2…),可通過request.GET來獲取,返回QueryDict對象。(不區(qū)分請求方式,POST也可用GET來獲取)
例:
# /get/?a=1&b=2&a=3 def get(request): a = request.GET.get('a') b = request.GET.get('b') alist = request.GET.getlist('a') print(a) # 3 print(b) # 2 print(alist) # ['1', '3'] return HttpResponse('OK')
4.請求體
(1)表單類型Form Data:
通過request.POST.get()來獲取
(2)非表單類型Non-Form Data:
非表單類型數據,Django無法自動解析,可以填先通過request.body獲取數據,然后按照請求格式解析
例:
import json def post_json(request): json_str = request.body # 獲取請求體數據 json_str = json_str.decode() # 解碼,python3.6 無需執(zhí)行此步 req_data = json.loads(json_str) # 將json轉為字典 print(req_data['a']) # 獲取字典值 print(req_data['b']) return HttpResponse('OK')
5.請求頭
可通過request.META來獲取請求頭信息,類型為字典類型
6.其他
參數 | 描述 |
---|---|
method | 一個字符串,表示請求使用的HTTP方法,常用值包括:‘GET'、‘POST'。 |
use | 請求的用戶對象。 |
path | 一個字符串,表示請求的頁面的完整路徑,不包含域名和參數部分。 |
encoding | 一個字符串,表示提交的數據的編碼方式。 |
FILES | 一個類似于字典的對象,包含所有的上傳文件。 |
希望本文所述對大家基于Django框架的Python程序設計有所幫助。
相關文章
Python 函數用法簡單示例【定義、參數、返回值、函數嵌套】
這篇文章主要介紹了Python 函數用法,結合實例形式分析了Python函數定義、參數、返回值及函數嵌套相關使用技巧,需要的朋友可以參考下2019-09-09Python3.6實現連接mysql或mariadb的方法分析
這篇文章主要介紹了Python3.6實現連接mysql或mariadb的方法,結合實例形式分析了Python3.6針對mysql或mariadb數據庫操作的相關模塊安裝、數據庫與表的創(chuàng)建、數據庫連接等操作技巧與注意事項,需要的朋友可以參考下2018-05-05Python利用xlrd?與?xlwt?模塊操作?Excel
這篇文章主要介紹了Python利用xlrd?與?xlwt?模塊操作?Excel,文章圍繞主題展開詳細的內容,具有一定的參考價值,需要的小伙伴可以參考一下2022-05-05xshell會話批量遷移到mobaxterm的工具(python小工具)
這篇文章主要介紹了xshell會話批量遷移到mobaxterm的工具,使用方法也超級簡單,本文通過python代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12python爬蟲 線程池創(chuàng)建并獲取文件代碼實例
這篇文章主要介紹了python爬蟲 線程池創(chuàng)建并獲取文件代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09