
Лекция Flask. Введение.
Преподаватель:
Фартышев Дмитрий Александрович

URL-запрос
URL-запрос (Uniform Resource Locator) - это способ обращения к определенному ресурсу в сети Интернет. Он состоит из двух основных частей: адреса сервера (например, www.example.com ) и пути к конкретному файлу или ресурсу на этом сервере (например, /path/to/file.html ). URL-запросы используются веб-браузерами, чтобы загружать веб-страницы, изображения, видео и другие файлы с сервера.

URL-запрос
Таким образом, URL-запрос можно рассматривать как команду, отправляемую серверу для получения определенного ресурса. Например, если вы вводите в адресной строке браузера “ https://www.example.com/path/to/file.html ”, вы отправляете URL-запрос на сервер www.example.com для получения файла file.html, расположенного в папке path/to на этом сервере..

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

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

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

Особенности Flask
- Зависимость от внешних библиотек. Перед его применением необходимо установить Jinja 2 и Werkzeug.
- Первый элемент – это специальный шаблонизатор. Он дает возможность создания HTML шаблонов при помощи the PY.
- Вторая внешняя библиотека – набор инструмент для WSGI. Он нужен для разработки приложения и его развертывания.
- Фреймворк the Flask в Python используется для генерирования упомянутых шаблонов с минимальными ресурсными затратами

Flask

Инициализация микрофреймворка
Для инициализации микрофреймворка достаточно выполнить операцию:
Первый сайт
Теперь можно написать первый простейший код. Это будет веб-сайт. для начала необходимо создать основу для приложения – файл app.py . Он будет выступать корневой папкой проекта.
На первом этапе необходимо остановиться на импорте класса Фласк из одноименной библиотеки:
from flask import Flask

Первый сайт
Далее потребуется создать экземпляр класса:
app = Flask(__ name __)
Здесь:
- Конструктору класса передается аргумент name.
- Соответствующее значение укажет микрофреймворку расположение исходного приложения.
- From flask import the flask сможет определить местоположение шаблонов, а также статических файлов и функции представления.
Теперь можно сформировать первый маршрут и запустить его для проверки получившегося результата.

Построение маршрута
При формировании маршрута необходимо запомнить следующее:
- Весь бэкенд базируется на маршрутах или URL-адресах. С их помощью удается создавать удобные структуры и поведение, которое будет понятно веб-приложениям.
- Маршрут для пользователя – это отдельная «вкладка» на сайте.
- Отображаются «вкладки» в виде приписки к основной части URL. Они написаны через знак косой черты (слеш).
- Маршрут используется для создания различных страниц с разным наполнением в пределах одного проекта.

Построение маршрута
Когда команда from flask import Flask обработана и все готово к дальнейшей работе с сайтом, нужно во фреймворке написать такой код:
Здесь сформирован адрес главной страницы веб-проекта. Мысленно к нему можно дописать «/» .
Сам маршрут указывается в строке app.route . В круглых скобках будут вписываться различные «адреса». Для новичков достаточно стандартного варианта.
Внутрь заданного маршрута помещена функция hello_world . Она выполняется при обращении к корневому URL (главной странице run site). Возвращает строку « Hello, World!» в интернет-обозревателе.
@app.route('/')
def index():
return 'Hello, World!'

Запуск и проверка
Все готово к первой проверке сайта. Для этого используется команда:
Соответствующий фрагмент кода гарантирует, что сервер микрофреймворка, подгруженный через from flask import the flask, будет работать только тогда, когда файл app.py запущен напрямую. Он не функционирует, если состоялся imports в виде модуля.
Данная команда должна быть сохранена в app.py. Далее он запускается в консоли:

Запуск и проверка
На экране должно появиться сообщение о том, что сервер был запущен:
Для проверки работоспособности веб-страницы необходимо перейти по URL, написанному в консоли. В рассматриваемом случае он – 127.0.0.1:5000/.
Выше – результат работы микрофреймворка.

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

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

Flask
Для того чтобы использовать переменные URL-запроса в Flask, нужно сначала определить маршрут, который будет обрабатывать этот запрос. В маршруте можно указать шаблон URL-запроса, который будет содержать переменные, обозначаемые символом “ ”.
Например, чтобы определить маршрут, который будет принимать переменную “ username ”, нужно написать следующий код

Flask
В этом примере маршрут определяется с использованием декоратора “ @app.route ”, и в URL-запросе присутствует переменная “username”, обозначенная символами “”. Далее, функция “ show_user_profile ” принимает эту переменную в качестве аргумента и может использовать ее для выполнения каких-либо операций (например, поиска информации о пользователе).
Чтобы получить значение переменной URL-запроса внутри функции, нужно указать ее в качестве аргумента функции, как в примере выше. Flask автоматически извлекает значение переменной из URL-запроса и передает его в функцию.

Flask
В этом примере определены два маршрута ( /users/ и /products// ), которые принимают переменные в URL запросе. Первый маршрут ожидает целочисленную переменную user_id, а второй маршрут ожидает строковую переменную product_name и целочисленную переменную product_id.

Flask
Когда пользователь запрашивает один из этих маршрутов с соответствующими переменными в URL запросе, Flask автоматически извлекает эти переменные и передает их в соответствующую функцию представления (get_user или get_product в нашем случае). Эти функции могут затем использовать эти переменные для выполнения какой-то логики и возврата ответа в виде HTML-страницы, JSON-ответа и т.д.