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 중국어 웹사이트의 기타 관련 기사를 참조하세요!