반응형
CodingEntrepreneurs Django 강의 정리
JsonResponse>
1. JSON 인코딩 응답을 작성하는 데 도움이되는 HttpResponse 서브 클래스 수퍼 클래스에서 대부분의 동작을
몇 가지 차이점으로 상속합니다.
2. 기본 Content-Type 헤더는 application / json으로 설정되어 있습니다.
3. 첫 번째 매개 변수 인 data는 dict 인스턴스 여야합니다.
4. safe 매개 변수가 False로 설정되면 (아래 참조) JSON 직렬화 가능 객체 일 수 있습니다.
5. django.core.serializers.json.DjangoJSONEncoder로 기본 설정된 인코더는 데이터를 직렬화하는 데 사용됩니다.
6. 이 직렬화기에 대한 자세한 내용은 JSON 직렬화를 참조하십시오.
7. 안전한 부울 매개 변수의 기본값은 True입니다. False로 설정하면 직렬화를 위해 모든 객체를 전달할 수 있습니다
(그렇지 않으면 dict 인스턴스 만 허용됨). safe가 True이고 dict가 아닌 객체가 첫 번째 인수로 전달되면 TypeError가
발생합니다.
8. json_dumps_params 매개 변수는 응답을 생성하는 데 사용되는 json.dumps () 호출에 전달할 키워드 인수의
딕셔너리입니다.
vies.py>
# tweets/views.py
from django.http import HttpResponse, Http404, JsonResponse
from django.shortcuts import render
from .models import Tweet
# Create your views here.
def home_view(request, *args, **kwargs):
return HttpResponse("<h1>Hello World</h1>")
def tweet_detail_view(request, tweet_id, *args, **kwargs):
"""
REST API VIEW
Consume by JavaScript or Swift or Java/ios/Andriod
return json data
"""
data = {
"id": tweet_id,
}
status = 200
try:
obj = Tweet.objects.get(id=tweet_id)
data["content"] = obj.content
except:
data["message"] = "Not Found"
status = 404
return JsonResponse(
data, status=status
) # json.dumps content_type='application/json'
결과물>
반응형
'Python_WEB > Tweetme' 카테고리의 다른 글
[Django]Bootstrap & Django Templates (0) | 2020.07.08 |
---|---|
[Django]Our First Template (0) | 2020.07.08 |
[Django]Handling Dynamic Routing (0) | 2020.07.01 |
[Django]Intro to URL Routing and Dynamic Routing (0) | 2020.06.29 |
[Django]The Tweets Model (0) | 2020.06.28 |