2012-04-12 17 views
2

jsonをDjangoに投稿する適切な方法は何ですか?私はビューを使用しようとしましたが、私はcsrfをどのように扱うべきかは不明です。ビューをバイパスし、単純にjsonの投稿を受け入れる別の方法はありますか?jsonをDjangoに投稿する方法

+1

CSRFトークンの投稿も試しましたか? –

+0

私はもっとはっきりしていたはずです。この投稿は、AJAXや何らかの形で起こっているわけではありません。これは、何の許可もないWeb APIのためのものです。匿名ユーザーがjson msgを投稿してjsonに返信できるようにする必要があります。 – ewhitt

答えて

3

ビューは、投稿データを処理します。 「バイパスビュー」という概念はありません。なぜなら、それは要求を処理する作業が行われるためです。

これは、あなたが探しているものはおそらくです:これは(つまり、クッキーを使用することによって)アヤックスとのCSRFトークンを処理する方法を示します https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax

私はまた、あなたがスローダウンを提案し、ここで見つけるチュートリアルを動作するように試みる場合があります:あなたはどのように作品(モデル、ビュー、テンプレート、URLをundertstand場合 https://docs.djangoproject.com/en/dev/intro/tutorial01/

あなたはおそらくジャンゴと簡単に時間を持つことになります、フォームなど)は一緒にフィットします。

これらはAPI呼び出しであるため、これらのビューをcsrf_exemptとしてマークするのが最も簡単です。さらに、モデルからAPIを作成するのは一般的な作業です(私はAPIがモデルにマップされていることを前提としており、指定していないと仮定しています)、ホイールを再作成せずに代わりにピストンを使用することができますあなたがこれを簡単にするためには、次のようにしてください:http://djangopackages.com/grids/g/api/

+0

私はもっと明確にすべきだった - この投稿は、ajaxや何らかの形で起こっているわけではありません。これは、何の許可もないWeb APIのためのものです。匿名ユーザーがjson msgを投稿してjsonに返信できるようにする必要があります。 – ewhitt

+0

次に、csrf_exemptでビューを飾ります – John

3

任意のAPIビューで@csrf_exemptデコレータを使用してください。

関連する問題