Django で JSON 応答を正しく構築するにはどうすればよいですか?

DDD
リリース: 2024-11-25 21:11:12
オリジナル
829 人が閲覧しました

How to Correctly Construct JSON Responses in Django?

Django と Python を使用した JSON レスポンスの作成

Django では、正しく行われれば、サーバー側の Ajax レスポンスを Django HttpResponse に変換するのは簡単です。以前の試みとその落とし穴を見てみましょう。

変換されたコード

問題の元のコードは、サーバーサイド スクリプトを Django HttpResponse:

def validate_user(request):
    if request.method == 'POST':
        ...
        array_to_js = [vld_id, vld_error, False]

        if vld_value == "TestUser":
            array_to_js[2] = True
            x = simplejson.dumps(array_to_js)
            return HttpResponse(x)
        else:
            ...
            return render_to_response('index.html', ...)
ログイン後にコピー

問題

問題は、リスト (array_to_js) を使用して JSON 応答を構築することにあります。 Django は、JSON 応答を作成するときに辞書を必要とします。

解決策

これを解決するには、辞書を使用して応答データを保存します。

response_data = {}
response_data['vld_id'] = vld_id
response_data['vld_error'] = vld_error
response_data['valid'] = False

if vld_value == "TestUser":
    response_data['valid'] = True

json_response = json.dumps(response_data)
return HttpResponse(json_response, content_type="application/json")
ログイン後にコピー

追加のヒント

Django 1.7 の場合、JsonResponse クラスを使用すると、JSON 応答を簡単に作成できます:

以上がDjango で JSON 応答を正しく構築するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート