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 обращаться к маршрутам.