Flask — это легкая веб-платформа Python, которая предоставляет полезные инструменты и функции для создания веб-приложений на языке Python.
При разработке веб-приложения важно отделить бизнес-логику от логики представления. Бизнес-логика — это то, что обрабатывает пользовательские запросы и обращается к базе данных для создания соответствующего ответа. Логика представления — это то, как данные представляются пользователю, обычно с использованием файлов HTML для построения базовой структуры веб-страницы ответа и стилей CSSએ для стилизации компонентов HTMLએ. Например, в приложении социальной сети у вас может быть поле для имени пользователя и поле для пароля, которые могут отображаться только тогда, когда пользователь не вошел в систему. Если пользователь вошел в систему, вместо этого отображается кнопка выхода. Это логика прездставления. Если пользователь вводит свое имя пользователя и пароль, вы можете использовать Flask для выполнения бизнес-логики: вы извлекаете данные (имя пользователя и пароль) из запроса, входите в систему, если учетные данные верны, или отвечаете сообщением об ошибке. То, как отображается сообщение об ошибке, будет обрабатываться логикой представления.
В Flask вы можете использовать язык шаблонов Jinja для рендеринга HTML‑шаблонов. Шаблон — это файл, который может содержать как фиксированное, так и динамическое содержимое. Когда пользователь запрашивает что-то из вашего приложения (например, страницу индекса или страницу входа в систему), Jinja позволяет вам отвечать шаблоном HTML, в котором вы можете использовать многие функции, недоступные в стандартном HTML, такие как переменные, операторы if
, циклы for
, фильтры и механизм наследования шаблонов. Эти функции позволяют эффективно писать простые в обслуживании HTML‑страницы. Jinja также автоматически экранирует HTML для предотвращения Cross-Site Scripting (XSS) атак с использованием сценариев сайта.
В этом уроке вы создадите небольшое веб-приложение, которое отображает несколько файлов HTML. Вы будете использовать переменные для передачи данных с сервера в шаблоны. Наследование шаблонов поможет избежать повторения. Вы будете использовать логику в шаблонах, таких как условные выражения и циклы, использовать фильтры для изменения текста и набор инструментов Bootstrap для стилизации своего приложения.
Читать далее «Как использовать шаблоны в приложении Flask»