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