【Flask】關於Flask的request屬性
https://blog.csdn.net/yannanxiu/article/details/53116652
前言
在進行Flask開發中,前端需要發送不同的請求及各種帶參數的方式,比如GET方法在URL後面帶參數和POST在BODY帶參數,有時候又是POST的表單提交方式,這個時候就需要從request
提取參數。這篇文章是總結如何使用request
。
關於request
在Flask的官方文檔中是這樣介紹request
的:
對於 Web 應用,與客戶端發送給服務器的數據交互至關重要。在 Flask 中由全局的 request 對象來提供這些信息。
從Flask模塊導入request
:
from flask import request
- 1
request的屬性
下面是request可使用的屬性,其中黑體是比較常用的。
-
form
一個從POST和PUT請求解析的 MultiDict(一鍵多值字典)。 -
args
MultiDict,要操作 URL (如 ?key=value )中提交的參數可以使用 args 屬性:
searchword = request.args.get(‘key‘, ‘‘)
- 1
-
values
CombinedMultiDict,內容是form
和args
。
可以使用values替代form和args。 -
cookies
顧名思義,請求的cookies,類型是dict。 -
stream
在可知的mimetype下,如果進來的表單數據無法解碼,會沒有任何改動的保存到這個·stream·以供使用。很多時候,當請求的數據轉換為string時,使用data
是最好的方式。這個stream只返回數據一次。 -
headers
請求頭,字典類型。 -
data
包含了請求的數據,並轉換為字符串,除非是一個Flask無法處理的mimetype。 -
files
MultiDict,帶有通過POST或PUT請求上傳的文件。 -
environ
WSGI隱含的環境配置。 -
method
請求方法,比如POST、GET。 -
path
- script_root
- url
- base_url
- url_root
如果用戶請求如下URL:
http://www.example.com/myapplication/page.html?x=y
以上的參數內容如下:
名稱 | 內容 |
---|---|
path | /page.html |
script_root | /myapplication |
base_url | http://www.example.com/myapplication/page.html |
url | http://www.example.com/myapplication/page.html?x=y |
url_root | http://www.example.com/myapplication/ |
-
is_xhr
如果請求是一個來自JavaScript XMLHttpRequest
的觸發,則返回True
,這個只工作在支持X-Requested-With
頭的庫並且設置了XMLHttpRequest
。 -
blueprint
藍本名字。 -
endpoint
endpoint匹配請求,這個與view_args
相結合,可是用於重構相同或修改URL。當匹配的時候發生異常,會返回None。 -
get_json(force=False, silent=False, cache=True)
-
json
如果mimetype
是application/json
,這個參數將會解析JSON數據,如果不是則返回None。
可以使用這個替代get_json()方法。 -
max_content_length
只讀,返回MAX_CONTENT_LENGTH
的配置鍵。 -
module
如果請求是發送到一個實際的模塊,則該參數返回當前模塊的名稱。這是棄用的功能,使用blueprints
替代。 - on_json_loading_failed(e)
-
routing_exception = None
如果匹配URL失敗,這個異常將會/已經拋出作為請求處理的一部分。這通常用於NotFound
異常或類似的情況。 -
url_rule = None
內部規則匹配請求的URL。這可用於在URL之前/之後檢查方法是否允許(request.url_rule.methods) 等等。
默認情況下,在處理請求函數中寫下
print(‘request.url_rule.methods‘, request.url_rule.methods)
會打印:request.url_rule.methods {‘GET’, ‘OPTIONS’, ‘HEAD’}
-
view_args = None
一個匹配請求的view參數的字典,當匹配的時候發生異常,會返回None。
【Flask】關於Flask的request屬性