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

Первое приложение

Flask для школьниковГлава 3 из 10
SilverTests.ru · Курс веб-разработкиПервое приложение
Первое приложение

5 строк Python — и у тебя работающий веб-сервер


Ты уже знаешь, что такое клиент, сервер, HTTP-запрос и маршрут.
Цель

Установить Flask. Написать app.py с тремя маршрутами. Увидеть результат в браузере. Понять динамические маршруты и render_template.

📝 Техзадание: Создать три страницы

http://127.0.0.1:5050/ — главная с приветствием.

http://127.0.0.1:5050/habits — текст «Мои привычки».

http://127.0.0.1:5050/habit/бег — страница конкретной привычки (динамическая).

1Установка и структура
pip install flask
habit_tracker/
├── app.py ← главный файл сервера
└── templates/ ← HTML-шаблоны (создадим позже)
  └── habit.html
2Минимальное приложение
from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
  return 'Трекер привычек — Добро пожаловать!'


if __name__ == '__main__':
  app.run(debug=True, port=5050)

Разбор по строкам:

Строка Что делает
Flask(__name__) Создаёт приложение. __name__ сообщает Flask, где искать файлы.
@app.route('/') Декоратор: «когда откроют адрес /, вызови функцию ниже».
return '...' Текст, который увидит пользователь — это и есть HTTP-ответ.
debug=True Сервер перезапускается при изменении кода + подробные ошибки.
port=5050 Порт сервера (5000 занят на macOS).
Запуск: python app.py → открой http://127.0.0.1:5050 в браузере. 127.0.0.1 — адрес «я сам», твой компьютер.
3Добавляем маршруты
@app.route('/habits')
def habits():
  return 'Мои привычки: бег, чтение, английский'


@app.route('/about')
def about():
  return 'Трекер привычек v1.0'

Теперь работают три адреса: /, /habits, /about. Каждый маршрут — как комната в доме: свой адрес, своя функция.

4Динамические маршруты

Изменяемую часть адреса пишем в угловых скобках:

@app.route('/habit/<name>')
def habit(name):
  return f'Привычка: {name}'

/habit/бег → name = "бег". /habit/йога → name = "йога". Один маршрут обслуживает бесконечно много страниц.

5HTML-шаблоны

Возвращать строки неудобно для настоящих страниц. Flask умеет загружать HTML из папки templates/:

from flask import Flask, render_template

@app.route('/habit/<name>')
def habit(name):
return render_template('habit.html', name=name)
<!-- templates/habit.html --> <h1>✅ Привычка: {{ name }}</h1> <a href="/">← На главную</a>

{{ name }} — синтаксис Jinja2: «подставь сюда значение переменной name из Python».

Папка должна называться именно templates — Flask ищет шаблоны только там. Иначе — ошибка TemplateNotFound.

Теперь у тебя есть работающий сервер с несколькими страницами. В следующей главе мы избавимся от дублирования HTML через наследование шаблонов.

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