django의 HTTPResponse와 JsonResponse 상해
HttpResponse 객체
Django 서버는 클라이언트가 보낸 요청을 받은 후 제출한 데이터를 하나의
HttpRequest
대상으로 봉하여 보기 함수에 전달합니다.그러면 보기 함수는 관련 논리를 처리한 후에도 브라우저에 응답해야 한다.이 응답은 HttpResponseBase
또는 그 하위 클래스의 대상을 되돌려야 합니다.HttpResponse
는 HttpResponseBase
를 가장 많이 쓰는 자류다.그럼 다음으로HttpResponse
와 그 하위 클래스를 소개하겠습니다. HttpResponse 대상의 속성은 HTTPRequest 대상의 속성과 다르고 HTTPResponse 대상의 속성은 서버에서 브라우저에 보내기 때문에 많은 속성은 저희가 직접 설정한 것입니다.일반 속성:
응답 헤더:
text/html
입니다.브라우저는 이 속성에 따라 데이터를 표시합니다.text/html
라면 브라우저는 콘텐츠 속성의 내용을 HTML 형식으로 해석하고 text/plain
하면 순수한 텍스트를 표시합니다.일반Content-Type
은 다음과 같습니다.일반적인 방법:
cookie
정보를 설정하는 데 사용됩니다.뒤에 권한 수여를 얘기할 때 중점적으로 얘기할게요.cookie
정보를 삭제하는 데 사용합니다.HttpResponse
는 파일과 유사한 대상으로 데이터체(content)에 데이터를 쓸 수 있으며, 새로 쓴 내용은 원래 콘텐츠 다음에 쓸 수 있다.response['X-Access-Token'] = 'xxxx', response csv Excel , :response['Content-Disposition'] = 'attachment;filename="abc.xls"'
JsonResponse 클래스:
만약 Json Response를 사용하지 않고 Http Response만 사용한다면, 우리는 json 문자열을 되돌려 주는 것도 가능하다. 요점은 두 가지가 있다.
1. 콘텐츠에서 되돌아올 내용을 json 모듈 dumps에서 json 문자열로 만든다
2、콘텐츠 설정type은 application/json입니다.
예제 코드는 다음과 같습니다.
from django.http import HttpResponse
def jsonresponse_view(request):
person = {
'name': 'xdm',
'age': 19
}
person_str = json.dumps(person)
response = HttpResponse(person_str , content_type='application/json; charset=utf-8')
return response
위의 원생 방식은 json 문자열을 되돌려주는 수요를 해결할 수 있습니다. HTTPResponse를 사용할 때, 우리는 되돌려주는 데이터를 먼저 dumps로 json 문자열로 만들어야 합니다.만약에 우리가 직접 Json Response 방식을 사용한다면 더욱 간단할 것이다. 실질적으로 Json Response도 Http Response를 계승하는 것이다. 그 내부 처리는 위에서 설명한 원리와 같고 콘텐츠 내용을 먼저 dumps를 json 문자열로 만들고 콘텐츠type='application/json'이라는 두 가지 규칙이 있습니다. 이때 사용할 때 덤프할 수 있는 콘텐츠 데이터를 직접 되돌려주면 됩니다. 더 이상 덤프 작업을 할 필요가 없습니다.예제 코드는 다음과 같습니다.
from django.http import JsonResponse
def jsonresponse_view(request):
person = {
'name': 'xdm',
'age': 19
}
response = JsonResponse(person)
return response
기본값
JsonResponse
은 사전dumps
만 가능합니다. 사전이 아닌 데이터dumps
를 진행하려면 JsonResponse
에 safe=False
인자를 전달해야 합니다.예제 코드는 다음과 같습니다.from django.http import JsonResponse
def index(request): persons = [' ',' ',' '] return HttpResponse(persons)
상기 코드는 오류가 발생할 수 있으므로
HttpResponse
를 사용할 때 safe=False
파라미터를 전송해야 한다. 예시 코드는 다음과 같다. return HttpResponse(persons,safe=False)
전재 대상:https://www.cnblogs.com/limaomao/p/9385176.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.