使用Django 和Python 建立JSON 回應
在Django 中,如果正確完成,將伺服器端Ajax 回應轉換為Djangose 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")
額外提示
額外提示from django.http import JsonResponse return JsonResponse({ 'vld_id': vld_id, 'vld_error': vld_error, 'valid': False })額外提示額外提示額外提示額外提示額外提示額外提示額外提示 對於Django 1.7 ,您可以使用JsonResponse類別輕鬆建立 JSON 回應:
以上是如何在 Django 中正確建立 JSON 回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!