ホームページ >バックエンド開発 >Python チュートリアル >Django で JSON 応答を正しく構築するにはどうすればよいですか?

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

DDD
DDDオリジナル
2024-11-25 21:11:12857ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。