Menu
CoddyTech

Что такое 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. Заголовок — это строка с информацией, отправляемая вместе с ответом; этот заголовок сообщает программе, данные какого типа она получила.

challenge icon

Задание

Легко

Добавь в трекер задач первую конечную точку:

  • Представление 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