Основные сведения о Flask

Завершено

Веб-платформу Flask создатели называют "микроплатформой" с открытым кодом. Под этим они подразумевают, что платформа успешно выполняет все функции веб-платформы, но не предоставляет расширенные возможности или другие компоненты, которые потребуются для правильной работы приложения. Такой подход позволяет Flask быть чрезвычайно гибким и идеально подходит для использования в качестве внешнего интерфейса для существующих внутренних и API-интерфейсов, таких как службы искусственного интеллекта Azure!

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

Реагирование на запросы пользователей с помощью маршрутов

Когда пользователь обращается к веб-приложению, требуемые функции или искомые данные определяются структурой введенного в браузере URI-адреса. Этот адрес можно ввести вручную (например, https://adventure-works.com), перейти по ссылке или нажать кнопку, для которой настроен нужный URL-адрес. Например, на сайте электронной коммерции могут использоваться URL-адреса следующего вида:

  • https://adventure-works.com/ для главной страницы;
  • https://adventure-works.com/products/widget для сведений в мини-приложении;
  • https://adventure-works.com/cart/buy для завершения покупки.

Нам, разработчикам, можно на задумываться о первой части URL-адреса, которая называется доменом (в нашем примере это adventure-works.com). Реальные действия в приложении зависят от того, что указано после имени домена начиная с символа /. Часть URL-адреса, расположенная после доменного имени, называется маршрутом.

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

В самом приложении мы укажем, как нужно реагировать на запросы по определенным маршрутам, предоставляя для них функции. Маршрут сопоставляет адреса с функциями. В общую концепцию создания кода эта идея вписывается довольно гармонично. Когда нам нужно выполнить определенное действие, мы вызываем функцию. И наши пользователи будут делать то же самое! Для них просто предоставлен другой механизм на основе маршрутов.

Методы или команды

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

Существует много методов для работы с веб-приложением, но из них достаточно широко распространены только два: GET и POST (остальные мы рассматривать не будем). GET обычно означает, что пользователь запрашивает информацию, а POST используется для отправки данных и получения некоторого ответа по ним.

Примечание.

Независимо от того, какую команду использует пользователь, вы всегда можете передать ему информацию.

Типичная блок-схема приложения с использованием GET и POST основывается на веб-форме. Предположим, что мы создаем приложение, в котором пользователь регистрируется для включения в список рассылки.

  1. Пользователь получает форму регистрации через метод GET.
  2. Пользователь заполняет эту форму и нажимает кнопку отправки.
  3. Сведения из этой формы передаются на сервер с помощью метода POST.
  4. Пользователю возвращается сообщение об успешном выполнении.

Как вы могли догадаться, пользователю не нужно явным образом указывать используемую команду, ведь это поведение управляется приложением. В общем случае, если пользователь напрямую переходит по URL-адресу (вводя его в адресной строке или щелкая ссылку), для доступа к странице используется метод GET. При нажатии кнопки для отправки формы обычно для передачи данных используется метод POST.

Примечание.

Здесь мы описываем происходящее в довольно общем виде, так как полное описание методов выходит за рамки этого модуля.

Шаблоны

Язык HTML используется для структурирования сведений, отображаемых в браузере, а формат CSS (каскадные таблицы стилей) позволяет управлять стилями и макетами. В созданном приложении большая часть HTML-кода будет статической, то есть не будет меняться. Но чтобы сделать наши страницы динамическими, нам нужна возможность программно размещать информацию на HTML-странице. Почти все веб-платформы решают эту задачу с помощью шаблонов.

Шаблон позволяет создать базовый код HTML (шаблон) и включить в него заполнители для динамической информации. Наиболее распространенным синтаксисом для заполнителей является {{ }}. Именно этот синтаксис поддерживает Jinja, механизм создания шаблонов для Flask.

<h1>Welcome, {{ name }}</h1>

В предыдущем примере есть HTML-тэг h1 (заголовок) с текстом для отображения. {{ name }} указывает, что здесь будет отображаться значение переменной с именем name после слова Welcome. Такой синтаксис позволяет создать любой код HTML, который позволят наши умения, и по мере необходимости внедрять в него динамическую информацию.

Проверьте свои знания

1.

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