models.py
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
class Report(models.Model):
objects = models.Manager()
input_user = models.ForeignKey(User, on_delete = models.CASCADE)
input_report = models.CharField(max_length=200, null = True, default='비어있음')
input_date = models.CharField(max_length=20, default=0, null=True, blank=True)
input_time = models.CharField(max_length=20, default=0, null=True, blank=True)
input_lat = models.DecimalField(max_digits=9, decimal_places=6, null = True)
input_lon = models.DecimalField(max_digits=9, decimal_places=6, null = True)
먼저 저의 모델입니다.
input값을 가져와 담습니다.
views.py
from django.http import HttpResponse
from django.core import serializers
def getApi(request):
report = Report.objects.all()
report_list = serializers.serialize('json', report)
return HttpResponse(report_list, content_type="text/json-comment-filtered")
HttpResponse와 serializers를 import 해줍니다.
해당 기능은 각각
HttpResponse - json으로 데이트를 반환하기 위해 사용함
serializers - 모델을 json타입으로 데이터를 직렬화
합니다.
path('getApi/', views.getApi, name='getApi'),
해당 api를 호출하는 url을 생성해준 뒤
서버를 실행시켜 줍니다.
이제 해당 api가 json형식으로 데이터를 잘 넘겨주는지 확인해 봅니다.
저는 postman을 사용했습니다.
http://127.0.0.1:8000/app/getApi/
해당 api를 찔러보니
json타입으로 잘 반환이 되네요
참고 및 배운곳 : https://dev-yakuza.github.io/ko/django/response-model-to-json/