> 백엔드 개발 > 파이썬 튜토리얼 > Django에서 JSON 응답을 올바르게 구성하는 방법은 무엇입니까?

Django에서 JSON 응답을 올바르게 구성하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-11-25 21:11:12
원래의
891명이 탐색했습니다.

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 응답을 쉽게 생성할 수 있습니다.

from django.http import JsonResponse

return JsonResponse({
    'vld_id': vld_id,
    'vld_error': vld_error,
    'valid': False
})
로그인 후 복사

위 내용은 Django에서 JSON 응답을 올바르게 구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿