Что такое API
Часть раздела JSON API путешествия по Django на Coddy. Урок 1 из 19.
Написанные вами до сих пор представления возвращают страницы для чтения. API (интерфейс программирования приложений) возвращает данные для программ: приложение на телефоне, скрипт или JavaScript на странице отправляет запрос по URL и получает данные, а не HTML.
Обычно эти данные представлены в формате JSON — это текст, похожий на словари и списки Python, с двойными кавычками и значениями true, false и null там, где в Python используются True, False и None:
{"title": "Buy milk", "done": false, "due": null}Django преобразует словарь в ответ JSON с помощью JsonResponse:
from django.http import JsonResponse
def hello(request):
return JsonResponse({"message": "Hi", "ready": True})Он формирует JSON и задаёт заголовку Content-Type значение application/json. Заголовок — это строка с информацией, отправляемая вместе с ответом; этот заголовок сообщает программе, данные какого типа она получила.
Задание
ЛегкоДобавь в трекер задач первую конечную точку:
- Представление
stats, которое возвращает JSON сtotal— количеством задач, иdone— количеством выполненных задач. - Маршрут
"api/stats/"с именемstats.
Нажми Run, затем открой /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