API란 무엇인가
Coddy Django 여정의 JSON API 섹션에 포함된 레슨. 19개 중 1번째.
지금까지 작성한 뷰는 사람들이 읽을 페이지를 반환합니다. API(애플리케이션 프로그래밍 인터페이스)는 프로그램을 위한 데이터를 반환합니다. 휴대폰 앱, 스크립트 또는 페이지의 JavaScript가 URL을 요청하면 HTML 대신 데이터를 받습니다.
이 데이터는 보통 JSON입니다. 큰따옴표를 사용하고, Python의 True, False, None 대신 true, false, null을 사용하는, Python 딕셔너리와 리스트처럼 보이는 텍스트입니다.
{"title": "Buy milk", "done": false, "due": null}Django는 JsonResponse를 사용해 딕셔너리를 JSON 응답으로 변환합니다.
from django.http import JsonResponse
def hello(request):
return JsonResponse({"message": "Hi", "ready": True})JSON을 작성하고 Content-Type 헤더를 application/json으로 설정합니다. 헤더는 응답과 함께 전송되는 정보 한 줄입니다. 이 헤더는 프로그램에 어떤 종류의 데이터를 받았는지 알려 줍니다.
챌린지
쉬움작업 추적기에 첫 번째 엔드포인트를 추가하세요:
total(작업 수)와done(완료한 작업 수)을 담은 JSON으로 응답하는 뷰stats.stats라는 이름의 경로"api/stats/".
실행을 누른 다음 /api/stats/를 여세요. 다음이 표시됩니다: {"total": 3, "done": 1}.
직접 해보기
from django.shortcuts import render
from .models import Task
def home(request):
return render(request, "tasks/home.html", {"tasks": Task.objects.all()})
JSON API의 모든 레슨
직접 연습해 보세요: Django 플레이그라운드