Flask – это легковесный веб-фреймворк для приложений на основе WSGI в Python, который стал популярным выбором среди разработчиков, стремящихся создать масштабируемые и безопасные веб-приложения. Одной из особенностей Flask является возможность отображения HTML-содержимого. В этой статье рассмотрим, как работать с представлениями в Flask и эффективно выводить данные в шаблоны, а также представим простой пример мини-проекта для иллюстрации этих концепций.

Понимание представлений в Flask

Функция представления в Flask – это функция Python, которая сопоставляется с одним или несколькими URL-адресами маршрутов. Она обрабатывает бизнес-логику вашего приложения и решает, какие данные будут отображаться на странице. Когда клиент запрашивает URL, Flask сопоставляет URL с функцией представления, выполняет ее, а затем рендерит ответ клиенту.

Отображение шаблонов

Для отображения шаблонов Flask использует движок шаблонов Jinja2. Jinja2 позволяет легко интегрировать динамические данные в HTML-шаблоны. Рендеринг шаблона означает создание HTML-файла из файла шаблона путем замены переменных и выполнения инструкций для создания итогового документа.

Настройка среды

Чтобы начать работать с Flask и отображением шаблонов, вам нужно настроить проект Flask. Убедитесь, что Python установлен на вашей системе, затем установите Flask с помощью pip:

pip install Flask

Создание простого приложения Flask

  • Инициализация вашего приложения Flask: создайте файл с именем app.py и инициализируйте ваше приложение Flask:
from flask import Flask, render_template

app = Flask(__name__)
  • Определение функции представления: создайте функцию представления и сопоставьте ее с URL:
@app.route('/')

def home():

return render_template('index.html', title='Главная страница')
  • Создание шаблонов: создайте папку с именем templates в директории вашего проекта. Внутри этой папки создайте HTML-файл с именем index.html. Здесь вы определите HTML-структуру вашей главной страницы.
<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>{{ title }}</title>

</head>

<body>

<h1>Добро пожаловать в мини-проект на Flask!</h1>

</body>

</html>

Синтаксис {{ title }} является примером переменной шаблона Jinja2. Она будет заменена на фактический заголовок, переданный из функции представления.

Запуск вашего приложения Flask

Для запуска введите в терминале:

flask run

Перейдите по адресу http://127.0.0.1:5000/ в вашем веб-браузере, и вы должны увидеть вашу главную страницу с сообщением «Добро пожаловать в мини-проект на Flask!»

Реализация мини-проекта: список дел

Давайте расширим пример, создав простое приложение для списка задач. Это проиллюстрирует, как передавать и отображать более сложные структуры данных (например, списки) в ваших шаблонах.

  • Обновление функции представления: измените ваш app.py, чтобы включить список задач:
@app.route('/todos')

def todos():

tasks = ['Изучить Flask', 'Построить проект', 'Изучить дополнительные возможности']

return render_template('todos.html', tasks=tasks)
  • Создание шаблона списка задач: в папке templates создайте новый файл с именем todos.html. Здесь мы будем перебирать задачи и отображать их:
<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Список дел</title>

</head>

<body>

<h1>Ваш список дел</h1>

<ul>

{% for task in tasks %}

<li>{{ task }}</li>

{% endfor %}

</ul>

</body>

</html>

Заключение

Работа с представлениями и отображение в шаблонах в Flask позволяют разработчикам с легкостью создавать динамичные и интерактивные веб-приложения. Следуя принципам, изложенным в этой статье, и исследуя пример мини-проекта, вы можете начать создавать свои собственные приложения на Flask.