나는 잠시 동안 파이썬을 사용했고 Django 나머지 프레임 워크를 사용하여 데스크톱 프로젝트를 API로 변환하고 싶었습니다.
이것은 제가 구축하는 첫 번째 API이므로 비교적 새로운 것입니다.
사용자로부터 데이터를 받아 로직을 실행하고 HTML 페이지 (folium map)를 반환하려고합니다.
사용자로부터 관련 데이터를 받기 위해 모델을 만들었습니다.
from django.db import models
class PostGDT1AndUAV(models.Model):
"""
POST user's GDT1 and UAV locations.
"""
latitude_gdt = models.FloatField(name='LatitudeGDT1',
unique=True, max_length=255, blank=False,
help_text="Enter the location's Latitude, first when extracting from Google Maps.",
default=1)
longitude_gdt = models.FloatField(name='LongitudeOfGDT1',
unique=True, max_length=255, blank=False,
help_text="Enter the location's Longitude, second when extracting from Google "
"Maps.",
default=1)
latitude_uav = models.FloatField(name='LatitudeOfUAV',
unique=True, max_length=255, blank=False,
help_text="Enter the location's Longitude, second when extracting from Google "
"Maps.",
default=1)
longitude_uav = models.FloatField(name='LongitudeOfUAV',
unique=True, max_length=255, blank=False,
help_text="Enter the location's Longitude, second when extracting from Google "
"Maps.",
default=1)
그리고 데이터에 대한 직렬 변환기를 작성했습니다.
나는 직렬화기를 활용하는 방법을 이해하지 못하고, 그것들의 개념을 이해하고, 데이터를 더 읽기 쉽고 사용 가능한 형식으로 변환하는 데 사용됩니다. 사용자로부터 데이터를 가져 와서 실행하는 방법을 이해하지 못합니다. 내 코드를 보내고 응답을 보내고 프로젝트의 논리 코드는 어디에 있어야합니까 (보기?)
from rest_framework import serializers
from .models import PostGDT1AndUAV
class PostGDT1AndUAVSerializer(serializers.ModelSerializer):
class Meta:
model = PostGDT1AndUAV
fields = ('latitude_gdt', 'longitude_gdt', 'latitude_uav', 'longitude_uav')
gdt1_data = PostGDT1AndUAVSerializer(PostGDT1AndUAV).to_representation()
print(gdt1_data)
나는 그것이 몇 가지 질문과 일반적인 것임을 알고 있지만 전체 문서와 여러 자습서를 스캔했지만 여전히 내 길을 찾지 못했습니다.
serializer에 모델 인스턴스 또는 모델 인스턴스의 이터 러블을 제공해야합니다.
post_instance = PostGDT1AndUAV.objects.get(id=1)
# Returns {'latitude_gdt': ..., 'longitude_gdt': ..., 'latitude_uav': ..., 'longitude_uav': ...}
PostGDT1AndUAVSerializer(post_instance).data
post_instances = PostGDT1AndUAV.objects.filter(...)
# Returns [{'latitude_gdt': ... }, {'latitude_gdt': ... }, ... ]
PostGDT1AndUAVSerializer(post_instances, many=True).data
튜토리얼의 직렬화 섹션을 확인하십시오 : https://www.django-rest-framework.org/tutorial/1-serialization/#working-with-serializers
모든 질문을 다룹니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다