サーバー側の Ajax レスポンス スクリプトを Django HttpResponse に変換しようとする場合は、構文の違いを考慮することが重要ですそして近づく。潜在的な問題の内訳と Django コードの修正バージョンを次に示します。
JSON のリストの代わりに辞書を使用する:
元の Python スクリプトは配列を返しました。 $arrayToJs を使用します。ただし、Python では、JSON コンテンツを作成するときに辞書を使用する方が慣用的です。
# CORRECTED CODE response_data = {'id': validateId, 'error': validateError}
JSON レスポンスを返す:
Django では、2 つの方法があります。 Django のバージョンに応じて JSON 応答を返すには:
For 1.7 より前の Django バージョン:
return HttpResponse(json.dumps(response_data), content_type="application/json")
Django 1.7 以降:
import json from django.http import JsonResponse return JsonResponse(response_data)
条件処理:
元のコードでは、process ステートメントと return ステートメントは条件ブロックの外側にあるため、応答を返す際に一定の遅延が発生します。修正されたコードにより、検証後すぐに応答が返されるようになります:
if validate_value == "TestUser": response_data['status'] = True return JsonResponse(response_data) else: response_data['status'] = False return JsonResponse(response_data)
以上がDjango で JSON 応答を効果的に返すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。