django-restful:serializers 학습기록(一)
class GoodsListView(View):
def get(self, request):
"""
django view
:param request:
:return:
"""
json_list = []
goods = Goods.objects.all()[:10]
for good in goods:
json_dict={}
json_dict['name']=good.name
json_dict['category']=good.category.name
json_dict['market_price']=good.market_price
json_list.append(json_dict)
from django.forms.models import model_to_dict
for good in goods:
json_dict = model_to_dict(good)
json_list.append(json_dict)
하지만 json 처리 imageField and addtime 필드가 잘못될 수 있기 때문에 이걸로 처리할 수 없습니다
from django.core import serializers
json_data = serializers.serialize("json", goods)
return HttpResponse(json_data,content_type='application/json')
이렇게 하면 오류가 발생하지 않지만 미디어를 정상적으로 표시할 수 없습니다. 왜냐하면 그는 우리 데이터베이스에 기록된 이미지를 꺼냈을 뿐 settings에 설정된 미디어를 추가하지 않았기 때문에 전방 인원들이 이런 시간을 낭비하게 할 수 없습니다.
from django.core import serializers
json_data = serializers.serialize("json", goods)
json_data = json.loads(json_data)
from django.http import HttpResponse, JsonResponse
return JsonResponse(json_data, safe=False)
이 방법은 위의 것과 마찬가지로 이 문제가 있습니다. 단지 사용한 반환 응답 방식이 다르기 때문입니다. 하나는 Http Response이고 다른 하나는 Json Response입니다. 그런데 이 두 가지 모두 이 문제를 잘 처리하지 못하기 때문에 drf가 제공한 Serializers를 사용하겠습니다. 다음 편은 제가 쓰겠습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.