Статья Автор: Деникина Н.В., Деникин А.В.

JSON и API

Flask для школьниковГлава 6 из 10
SilverTests.ru · Курс веб-разработкиJSON и API
JSON и API

Данные для программ — мост между Python и JavaScript


Теперь ты умеешь обрабатывать формы (POST, request.form). Наш трекер теперь умеет добавлять привычки.
Цель

Понять, что такое JSON и API. Создать маршруты, возвращающие данные для программ (не HTML). Подготовить сервер к работе с JavaScript.

📝 Техзадание

/api/habits — возвращает JSON со списком привычек (не HTML-страницу).

/api/add (POST) — принимает JSON с именем привычки, добавляет в список.

1Зачем нужен JSON

HTML — для людей (заголовки, параграфы, ссылки). JSON — для программ (ключ: значение, массивы). Когда JavaScript в браузере хочет получить данные — он запрашивает JSON, а не HTML.

HTML (для людей)
<h1>Мои привычки</h1>
<p>✅ Бег</p>
<p>⬜ Чтение</p>
JSON (для программ)
{
  "habits": [
    {"name": "Бег", "done": true},
    {"name": "Чтение", "done": false}
  ]
}
2API-маршрут (возвращает JSON)
from flask import jsonify

@app.route('/api/habits')
def api_habits():
    return jsonify({"habits": habits_list, "count": len(habits_list)})

Открой http://127.0.0.1:5050/api/habits — увидишь JSON прямо в браузере. Не HTML, а чистые данные.

3Приём JSON (POST)
@app.route('/api/add', methods=['POST'])
def api_add():
    data = request.json                  # JSON из тела запроса
    name = data.get('name', '')
    if name.strip():
        habits_list.append({"name": name, "done": False})
        return jsonify({"ok": True, "msg": "Добавлено!"})
    return jsonify({"ok": False, "msg": "Пустое имя"})
4Три источника данных
Откуда данные Как получить в Flask Когда используется
HTML-форма request.form['key'] Обычные страницы
JavaScript (JSON) request.json API, AJAX, игры
URL-параметры request.args['key'] Поиск (?q=flask)

Связь с игрой:  В следующей главе мы научим JavaScript обращаться к маршрутам.

© SilverTests.ru · Курс Flask для школьников · Глава 6 из 10
Печать