📝 Практические задания

⚡ Задания в двух словах

  • Задание 1 — создать маршрут /about с информацией о проекте.
  • Задание 2 — создать маршрут /user/<name> с персональным приветствием.
  • Задание 3 — создать маршрут /square/<n>, возвращающий квадрат числа.

🏋️ Раздел тренировки

В этом разделе вы пошагово выполните практическое задание: от создания папки до рабочего проекта в VS Code.

Цель тренировки: научиться самостоятельно создавать проект, настраивать окружение и запускать код — без готовых шаблонов.

📂 Подготовка проекта

  1. Создайте папку урока внутри python-advanced-practice/flask/lesson-01/.
  2. Переключитесь на ветку lesson/01-flask-intro:
    cd python-advanced-practice
    git checkout -b lesson/01-flask-intro
  3. Активируйте виртуальное окружение:
    # Windows
    python -m venv venv
    venv\Scripts\activate
    
    # Mac/Linux
    python3 -m venv venv
    source venv/bin/activate
  4. Установите Flask:
    pip install flask

Задание 1. Страница «О проекте»

Условие: добавьте в приложение маршрут /about, который возвращает HTML-страницу с названием проекта и кратким описанием (2-3 предложения).

Что должно получиться: при открытии http://127.0.0.1:5000/about видим страницу с информацией о проекте.

Подсказка: используйте декоратор @app.route('/about') и возвращайте HTML-строку с тегами <h1> и <p>.

Задание 2. Приветствие по имени

Условие: создайте маршрут /user/<name>, который принимает имя в URL и возвращает приветствие: «Привет, [имя]! Добро пожаловать в Flask.»

Что должно получиться: /user/Иван → «Привет, Иван! Добро пожаловать в Flask.»

Подсказка: в декораторе используйте переменную <name>, а в функции — параметр def user(name):. Используйте f-string для подстановки.

Задание 3. Квадрат числа (★ продвинутое)

Условие: создайте маршрут /square/<n>, который принимает число и возвращает его квадрат. Если передано не число — верните сообщение об ошибке.

Что должно получиться: /square/5 → «25», /square/abc → «Ошибка: передайте число».

Подсказка: переменная в URL всегда приходит как строка. Используйте try/except ValueError для преобразования в int.