<p>从<a href="http://www.django-rest-framework.org/api-guide/requests/#data" rel="nofollow">docs</a>:</p>
<blockquote>
<p><code>request.data</code> returns the parsed content of the request body. This is
similar to the standard <code>request.POST</code> and <code>request.FILES</code> attributes
except that:</p>
<ul>
<li>It includes all parsed content, including file and non-file inputs. </li>
<li>It supports parsing the content of HTTP methods other than <code>POST</code>, meaning that you can access the content of <code>PUT</code> and <code>PATCH</code><br/>
requests. </li>
<li>It supports REST framework's flexible request parsing, rather than just supporting form data. For example you can handle incoming
<code>JSON</code> data in the same way that you handle incoming form data.</li>
</ul>
</blockquote>
<hr/>
<blockquote>
<p>Can I simply read the data using <code>response.POST["field1"]</code>, or will I
have to do something with <code>request.body</code>?</p>
<p>So I can simply use <code>request.body</code> as a dictionary-like object similar
to <code>request.POST</code>?</p>
</blockquote>
<p>示例-来自<code>create</code>方法(viewsets):</p>
<pre><code>user = dict(
full_name=request.DATA['full_name'],
password=request.DATA['password'],
email=request.DATA['email'],
personal_number=request.DATA['personal_number'],
user_type=request.DATA['user_type'],
profile_id=request.DATA['profile_id'],
account_id=request.DATA['account_id']
)
</code></pre>
<p><strong>编辑1</strong>:在版本3(最新)中,<code>request.DATA</code>已替换为<code>request.data</code></strong>:</p>
^{pr2}$