Вы находитесь на странице: 1из 15

Flask

• Flask – компактный фреймворк для быстрой разработки веб-приложений. Flask


универсален – на его основе можно создавать сложные приложения и API, и в то же
время он идеально подходит для разработки небольших проектов. Самый большой
плюс Flask – на нем очень просто реализовать генератор статических сайтов.
Основные преимущества Flask:
• Минималистичность. Flask отличается небольшим размером – в нем есть все самое
необходимое и нет ничего лишнего.
• Гибкость. Фреймворк не диктует определенных правил и позволяет разработчику сохранить
полный контроль над структурой приложения.
• Простота в использовании. Он имеет несколько встроенных функций, которые позволяют сразу
начать создавать полноценные веб-приложения, даже если у вас нет опыта в веб-разработке на
Python. Например, у Flask есть встроенный сервер, поддержка сессий, обработчик форм,
шаблонизатор.
• Интеграция с дополнительными библиотеками. Фреймворк очень просто интегрируется с
многочисленными библиотеками, которые расширяют его функциональность. Это позволяет
создать гибкий, масштабируемый проект для любой сферы.
• Простота тестирования. У Flask есть встроенный тестовый клиент, который максимально
упрощает тестирование и отладку.
Простейшее приложение на Flask
Этот код создает объект приложения Flask с помощью
класса Flask и присваивает его переменной app.
Декоратор @app.route('/') устанавливает маршрут для главной
страницы нашего приложения, а метод def hello()определяет,
что будет отображаться на этой странице.
if __name__ == '__main__': проверяет, запускается ли данный
файл как самостоятельное приложение, или импортируется
как модуль. В нашем случае он запускается как независимое
приложение, поэтому вызывается метод app.run(), который
запускает веб-сервер Flask.
Result:
Маршруты в Flask
Маршруты – это URL-адреса, по
которым пользователи могут открывать
определенные страницы (разделы) веб-
приложения. Маршруты
в Flask определяются с помощью
декоратора @app.route(). Для каждого
маршрута можно написать отдельную
функцию представления, которая будет
выполнять какие-то действия при
переходе по определенному адресу.
Рассмотрим пример:
Result:
GET- и POST-запросы
• GET и POST – это HTTP-запросы, которые используются для отправки
данных между клиентом и сервером.
• GET-запрос применяют для получения данных от сервера. При
выполнении GET-запроса клиент отправляет запрос на сервер, а сервер
возвращает запрошенную информацию в ответ. GET-запросы могут
содержать параметры в URL-адресе, которые используются для передачи
дополнительных данных.
• POST-запрос используют для отправки данных на сервер. При
выполнении POST-запроса клиент отправляет данные на сервер, а сервер
их обрабатывает. POST-запросы обычно применяют для отправки форм,
с данными из которых нужно что-то сделать на бэкенде.
• Рассмотрим простейший пример
обработки формы авторизации. Базы
данных для хранения учетных
записей у нас пока нет, поэтому в
приведенном ниже коде мы
пропустим всю функциональность
для проверки корректности логина и
пароля
Маршрут @app.route('/login', methods=['GET', 'POST']) обрабатывает
и POST, и GET-запросы: в первом случае он отправит данные на сервер, во
втором – просто выведет страницу с формой авторизации.
• Для вывода формы на странице сделаем простейший шаблон.
Этот код нужно сохранить в файле login.html, в
директории templates (в этой папке Flask по умолчанию ищет
шаблоны):
Создаём
HTML-шаблон
• А теперь создадим HTML-шаблоны:
выделим под них
папку templates и добавим в неё
файл base.html со следующим
содержимым:
• Этот шаблон будет отправной точкой для всех остальных HTML-
страниц. В нём мы прописали заголовок:

• Вы, наверное, уже обратили внимание на странные элементы, а точнее теги {%


block %} и {% endblock %}. Они как раз нужны, чтобы динамически добавлять туда
новые элементы: другие HTML-блоки, JavaScript-код и тому подобное.
• Этот шаблон переопределяет
заголовок страницы и определяет
контент, который будет
отображаться на домашней
странице: заголовок страницы Home
и немного текста.
Task:
• Создать Flask-приложение, которое выводит список книг на веб-
странице. Для этого создадим файлы app.py для Flask-приложения
и books.html для шаблона.

Вам также может понравиться