Пример 1. Минимальное Flask-приложение
Самый простой рабочий пример:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, Flask!'
if __name__ == '__main__':
app.run(debug=True)
Что происходит:
from flask import Flask— импортируем класс Flask.app = Flask(__name__)— создаём приложение.__name__сообщает Flask, где искать шаблоны и статические файлы.@app.route('/')— говорим Flask: при запросе корня сайта вызови функциюhello.return 'Hello, Flask!'— функция возвращает строку, которая станет телом HTTP-ответа со статусом 200.if __name__ == '__main__':— гарантирует, что сервер запустится только при прямом запуске файла, а не при импорте.app.run(debug=True)— запускает сервер наhttp://127.0.0.1:5000.debug=Trueпоказывает подробные ошибки и перезагружает сервер при изменении кода.
Пример 2. Маршрут с параметром
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>Главная страница</h1>'
@app.route('/user/<name>')
def user(name):
return f'<h1>Привет, {name}!</h1>'
if __name__ == '__main__':
app.run(debug=True)
Что нового:
<name>в URL — это переменная часть маршрута. Flask передаёт её как аргумент функции.- Если открыть
/user/Анна, Flask вызоветuser('Анна')и вернёт «Привет, Анна!».
Пример 3. Несколько маршрутов
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return '<h1>Добро пожаловать!</h1>'
@app.route('/about')
def about():
return '<h1>О нас</h1><p>Это учебный проект на Flask.</p>'
@app.route('/user/<name>')
def greet(name):
return f'<h1>Привет, {name}!</h1>'
if __name__ == '__main__':
app.run(debug=True)
Как запустить в VS Code
- Создайте файл
app.pyв папке урока. - Скопируйте код из примера выше.
- Откройте терминал в VS Code: Ctrl + ` (обратная кавычка).
- Активируйте виртуальное окружение:
- Windows:
venv\Scripts\activate - Mac/Linux:
source venv/bin/activate
- Windows:
- Запустите:
python app.py - Откройте в браузере:
http://127.0.0.1:5000 - Для остановки сервера нажмите Ctrl + C в терминале.
⚠️ Не используйте
app.run() в продакшене! Встроенный сервер Flask предназначен только для разработки. В продакшене используйте gunicorn или uwsgi. Об этом подробнее в продвинутых уроках.