🐛 Типичные ошибки
Ошибка 1. Путаешь string и path
Симптом: запрос /reverse/hello/world возвращает 404, хотя маршрут существует.
Причина: использован конвертер string, который не принимает слеши.
# ❌ Неправильно
@app.route('/reverse/<string:text>')
# ✅ Правильно
@app.route('/reverse/<path:text>')
Ошибка 2. Передаёшь float в int-конвертер
Симптом: GET /double/3.5 возвращает 404.
Причина: конвертер int принимает только целые положительные числа без точки.
# ❌ Неправильно
@app.route('/square/<int:number>')
# Запрос /square/3.5 → 404
# ✅ Правильно
@app.route('/square/<float:number>')
Ошибка 3. Забываешь активировать виртуальное окружение
Симптом: команда python app.py пишет ModuleNotFoundError: No module named 'flask'.
Причина: Flask установлен в виртуальном окружении, но оно не активировано.
# Windows
venv\Scripts\activate
# macOS / Linux
source venv/bin/activate
Ошибка 4. Порт 5000 занят другим процессом
Симптом: Flask не запускается с ошибкой Address already in use.
Решение: либо закрой предыдущее окно терминала с запущенным Flask, либо запусти на другом порту:
app.run(debug=True, port=5001)
Ошибка 5. В Postman забываешь выбрать метод GET
Симптом: Postman отправляет POST вместо GET и сервер возвращает 405 Method Not Allowed.
Решение: всегда проверяй выпадающий список метода слева от поля URL в Postman.
Ошибка 6. Переменная окружения не подставляется
Симптом: Postman пишет Could not resolve host: {{base_url}}.
Причина: забыл выбрать нужное окружение в правом верхнем углу Postman (No Environment → Development).
Ошибка 7. Двойные кавычки в f-string конфликтуют
Симптом: синтаксическая ошибка в Python.
# ❌ Неправильно
return f"Hello, {name}!"
# На самом деле это корректно, но если внутри name есть кавычки — лучше:
return f'Hello, {name}!'