首頁  >  文章  >  後端開發  >  如何在 Django 中正確建立 JSON 回應?

如何在 Django 中正確建立 JSON 回應?

DDD
DDD原創
2024-11-25 21:11:12831瀏覽

How to Correctly Construct JSON Responses in Django?

使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn