<p><a href="https://flask.palletsprojects.com/api/#flask.Request" rel="noreferrer">docs</a>描述了请求中可用的属性。在大多数情况下,<code>request.data</code>将为空,因为它用作回退:</p>
<blockquote>
<p><code>request.data</code> Contains the incoming request data as string in case it came with a mimetype Flask does not handle.</p>
</blockquote>
<ul>
<li><a href="https://flask.palletsprojects.com/api/#flask.Request.args" rel="noreferrer">^{<cd2>}</a>:URL查询字符串中的键/值对</li>
<li><a href="https://flask.palletsprojects.com/api/#flask.Request.form" rel="noreferrer">^{<cd3>}</a>:正文中的键/值对,来自HTML post表单,或者不是JSON编码的JavaScript请求</li>
<li><a href="https://flask.palletsprojects.com/api/#flask.Request.files" rel="noreferrer">^{<cd4>}</a>:主体中的文件,容器与<code>form</code>分开。HTML表单必须使用<code>enctype=multipart/form-data</code>,否则将不会上载文件。</li>
<li><a href="https://flask.palletsprojects.com/api/#flask.Request.values" rel="noreferrer">^{<cd7>}</a>:组合的<code>args</code>和<code>form</code>,如果键重叠,则首选<code>args</code></li>
<li><a href="https://flask.palletsprojects.com/api/#flask.Request.json" rel="noreferrer">^{<cd11>}</a>:解析的JSON数据。请求必须具有<code>application/json</code>内容类型,或者使用<a href="https://flask.palletsprojects.com/api/#flask.Request.get_json" rel="noreferrer">^{<cd13>}</a>忽略该内容类型。</li>
</ul>
<p>所有这些都是<a href="https://werkzeug.palletsprojects.com/datastructures/#werkzeug.datastructures.MultiDict" rel="noreferrer">^{<cd14>}</a>实例(除了<code>json</code>)。可以使用以下方法访问值:</p>
<ul>
<li><code>request.form['name']</code>:如果知道密钥存在,请使用索引</li>
<li><code>request.form.get('name')</code>:如果密钥可能不存在,请使用<code>get</code></li>
<li><code>request.form.getlist('name')</code>:如果密钥被多次发送,并且需要值列表,请使用<code>getlist</code>。<code>get</code>只返回第一个值。</li>
</ul>