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。ブロック全体を 1 スペース左に移動すると、機能するはずです。

ところで。1 つのインデントに 4 つのスペースを使用することをお勧めします。これは、Python 開発の通常の方法です。いずれにせよ、1 つのスペースは読み取りとデバッグが難しすぎます。

于 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 に答える