✅ Решения
Часть 1. Ответы на тест
Вопрос 1
Ответ: C) HTTPS
HTTPS — это HTTP с шифрованием TLS/SSL. Данные передаются в зашифрованном виде, что защищает от перехвата.
Вопрос 2
Ответ: B) Flask — микрофреймворк, Django — полнофункциональный фреймворк
Flask даёт минимум из коробки и максимум гибкости. Django включает админку, ORM, аутентификацию и другие компоненты.
Вопрос 3
Ответ: C) pip install flask
Стандартная команда установки пакетов Python через pip.
Вопрос 4
Ответ: B) Связывает URL с функцией-обработчиком
Декоратор @app.route('/') говорит Flask: «когда придёт запрос на этот URL, вызови эту функцию».
Вопрос 5
Ответ: B) Для запуска сервера с автоперезагрузкой и детальным выводом ошибок
debug=True включает два полезных режима: автоматическую перезагрузку при изменении кода и интерактивный отладчик в браузере при ошибках.
Вопрос 6
Ответ: A) @app.route()
Это единственный правильный синтаксис для создания маршрута во Flask.
Вопрос 7
Ответ: C) path
Конвертер path принимает строку, включая символы слеша /. Конвертер string слеши не принимает.
Часть 2. Решения практических заданий
Задание 1. Базовое приложение
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
Задание 2. Параметр string
@app.route('/hello/<name>')
def hello(name):
return f'Hello, {name}!'
Задание 3. Параметр int
@app.route('/double/<int:number>')
def double_number(number):
result = number * 2
return str(result)
Или с f-string:
@app.route('/double/<int:number>')
def double_number(number):
return f'{number} doubled is {number * 2}'
Задание 4. Параметр float
@app.route('/square/<float:number>')
def square_number(number):
return f'The square of {number} is {number * number}'
Задание 5. Параметр path
@app.route('/reverse/<path:text>')
def reverse_text(text):
reversed_text = text[::-1]
return f'{text} reversed is {reversed_text}'
Проверка разницы string vs path:
# С path — работает
GET /reverse/hello/world
# → "hello/world reversed is dlrow/olleh"
# Если заменить на <string:text> — тот же URL вернёт 404,
# потому что string не принимает слеши.
Задание 6. Postman-коллекция
Шаги:
- Создай Environment «Development» с переменной
base_url = http://127.0.0.1:5000. - Создай Collection «Flask Practice 1».
- Добавь запросы:
| Название | Метод | URL |
|---|---|---|
| Hello World | GET | {{base_url}}/ |
| Hello Name | GET | {{base_url}}/hello/Anna |
| Double Int | GET | {{base_url}}/double/7 |
| Square Float | GET | {{base_url}}/square/3.5 |
| Reverse Path | GET | {{base_url}}/reverse/hello/world |