2011-09-10 14 views
4

APIからJSON通知を受け取るようにビューを設定しようとしています。私は、JSONデータを取得する方法を把握しようとしている、と私は現在、要求が正常に受信されていることを確認するために出発点としてこれを持っている:ビューでJSONリクエストを取得する(Djangoを使用)

def api_response(request): 
    print request 
    return HttpResponse('') 

私はJSONオブジェクトが原因であることがわかっていますprint requestこれは、次のとおりです。

META:{'CONTENT_LENGTH': '178', 
[Fri Sep 09 16:42:27 2011] [error] 'CONTENT_TYPE': 'application/json', 

ただし、POSTおよびGET QueryDictsは両方とも空です。私はそれを処理できるようにJSONオブジェクトを受け取るためのビューをどのように設定するのですか?ありがとうございました。

答えて

8

これは、私はそれをやった方法です:

def api_response(request): 
    try: 
     data=json.loads(request.raw_post_data) 
     label=data['label'] 
     url=data['url'] 
     print label, url 
    except: 
     print 'nope' 
    return HttpResponse('') 
+2

私は追加します。これは、アプリケーションの一般的なパターンであれば、影響を受ける関数に適用するデコレータを書きます。 –

+8

はdjango 1.4で 'raw_post_data'の代わりに' request.body'を使うように変更されたようです。 http://stackoverflow.com/questions/1208067/wheres-my-json-data-in-my-incoming-django-request –

関連する問題