0

我正在尝试将 JSON 格式的数据发送到我的 django 应用程序。当我尝试如下使用 POST 时,出现以下错误。那么,我的发布方式或视图方法有什么问题。

编辑:错误信息:

<pre class="exception_value">&#39;Key \&#39;data\&#39; not found in &lt;QueryDict: {u\&#39;{ &quot;data&quot;:\\n        {\\n          &quot;name&quot;: &quot;Something&quot;,\\n          &quot;content&quot;: &quot;Anything&quot;\\n        }\\n}\\n\&#39;: [u\&#39;\&#39;]}&gt;&#39;</pre>
                    <table class="meta">
                        <tr>
                            <th>Request Method:</th>
                            <td>POST</td>
                        </tr>
                        <tr>
                            <th>Request URL:</th>
                            <td>http://localhost:8000/api/recipes/item_new/</td>
4

2 回答 2

1

在我看来缩进是错误的。您开始处理的行postdata与您返回HttpResponseBadRequest. 将整个块向左移动一个空间,它应该可以工作。

顺便提一句。一个缩进最好使用 4 个空格。这是 Python 开发中的常见做法。无论如何:一个空间太难阅读和调试。

于 2012-08-06T03:33:27.527 回答
0

您发布的是原始 JSON,而不是表单编码数据。您需要访问request.body

postdata = request.body
postdata = json.loads(postdata)

请注意,这是request.raw_post_data在 1.4 之前的版本中调用的。

于 2012-08-06T06:18:42.540 回答