Авторы: Белинская М.А. Кравец Т.Н.
Источник: Материалы XIII Международной научно-технической конференции «Информатика, управляющие системы, математическое и компьютерное моделирование» (ИУСМКМ-2023).
Аннотация: В статье рассмотрены возможности разработки веб-приложений с помощью языка программирования Python. Также рассмотрены различные фреймворки для разработки веб-приложений, такие как Django, Flask, Pyramid, Tornado. И более подробнее рассмотрен фреймворк Flask.
Ключевые слова:веб-приложение, python, фреймворк.
Веб-разработка на языке программирования Python стала популярной среди разра-ботчиков благодаря ее простоте, эффективности и обширной библиотеке инструментов. Python предлагает множество средств разработки веб-приложений, позволяющих быстро создать и развернуть сайт или сервис. Благодаря своей гибкости и расширяемости, эти инструменты позволяют решать различные задачи, от создания простых сайтов до слож-ных веб-приложений, отвечающих требованиям современных пользователя.
Python является достаточно простым в изучении [1]. Язык опирается на общие вы-ражения и пробелы, что позволяет писать значительно меньше кода по сравнению с неко-торыми другими языками, такими как Java или C++. Мало того, у него более низкий ба-рьер входа, потому что он сравнительно больше похож на наш повседневный язык, так что вы можете легко понять код.
Python предлагает широкий спектр библиотечных инструментов и пакетов, что позволяет вам получить доступ к большому количеству предварительно написанного ко-да, сокращая время разработки приложения.
Python предлагает множество фреймворков на выбор, включая Bottle.py, Flask, CherryPy, Pyramid, Django и веб2py. Эти платформы использовались для поддержки неко-торых самых популярных сайтов в мире, таких как Spotify, Mozilla, Reddit, Washington Post и Yelp.
Веб-фреймворк – это набор пакетов и модулей, состоящих из предварительно написанного стандартизированного кода, который поддерживает разработку веб-приложений, делая разработку более быстрой и простой, а ваши программы более надеж-ными и масштабируемыми. Другими словами, фреймворки уже имеют встроенные ком-поненты, которые “настраивают” ваш проект.
Веб-фреймворки Python используются только в серверной части для серверных технологий, помогая в маршрутизации URL, HTTP-запросах и ответах, доступе к базам данных и веб-безопасности. Хотя использование веб-фреймворка не обязательно, это крайне рекомендуется, поскольку помогает вам разрабатывать сложные приложения за значительно меньшее время.
Рассмотрим коротко несколько популярный фреймворков.
Django. Django является одним из самых популярных и мощных фреймворков Python для веб-разработки. Он предоставляет структуру и инструменты для создания полнофункциональных веб-приложений. Django имеет встроенную аутентификацию, ад-министративный интерфейс, обработку форм и поддержку баз данных.
Flask считается микро-фреймворком, который представляет собой минималистич-ный веб-фреймворк. Ему не хватает многих функций, которые предлагают полнофункци-ональные фреймворки, такие как Django, такие как механизм веб-шаблонов, авторизация учетной записи и аутентификация [2].
Flask минималистичен и легковесен, что означает, что вы добавляете расширения и библиотеки, которые вам нужны по мере написания кода, без автоматического предо-ставления их фреймворком.
Философия Flask заключается в том, что она предоставляет только те компоненты, которые необходимы для создания приложения, чтобы у вас была гибкость и контроль.
Pyramid. Pyramid – это гибкий фреймворк Python для разработки веб-приложений любого размера. Он предлагает различные функции, такие как маршрутизация, шаблони-зация, аутентификация и расширяемость. Pyramid также предоставляет многоответовые архитектурные паттерны, что делает его привлекательным выбором для разработчиков.
Tornado: Tornado – это асинхронный веб-фреймворк Python, который разрабаты-вался в компании Facebook. Он предоставляет мощные инструменты для создания высо-копроизводительных веб-приложений. Tornado также поддерживает взаимодействие с се-тевыми протоколами, такими как WebSockets и HTTP.
Это только небольшой список средств разработки веб-приложений на языке про-граммирования Python. Выбор фреймворка зависит от требований проекта и предпочте-ний разработчика.
В качестве необходимого фреймворка для разработки сайт а остановимся на фреймворке Flask, так как он лучше всего подходит под цели проекта. Он минималистич-ный и гибкий, что сильно упростит задачу.
Рассмотрим подробнее создание сайта на языке Python. Перед началом разработки веб-приложения необходимо изучить HTML и CSS, которые являются основой для созда-ния веб-сайтов. Также необходимо знание языка программирования JavaScript.
Для работы уже непосредственно с фреймворком Flask необходимо его устано-вить. Устанавливается Flask с помощью команды pip install flask [3].
На рисунке 1 представлен импорт Flask для нашего проекта.
Рисунок 1 – Импорт Flask
Далее на рисунке 2 представлено создание экземпляра класса Flask.
Рисунок 2 – Создание экземпляра класса Flask
На рисунке 3 показано определение маршрутов для нашего сайта.
Рисунок 3 – Определение маршрута для сайта
Для запуска веб-приложения используется следующий код, изображенный на ри-сунке 4.
Рисунок 4 – Код запуска веб-приложения
В Flask запросы HTTP (как GET, так и POST) могут быть обработаны с использо-ванием декораторов route() или методов представления класса [4].
Для обработки GET-запросов можно использовать декоратор route() с указанием пути и метода (по умолчанию GET). Пример представлен на рисунке 5.
Рисунок 5 – Обработка GET-запросов
Для обработки POST-запросов используется декоратор route() с указанием метода POST используется метод, представленный на рисунке 6.
Рисунок 6 – Обработка POST-запросов
Python – один из самых популярных языков в мире, на котором работают компа-нии со всего мира. Из-за того, насколько популярен этот язык, Python постоянно попол-няется новыми функциями и библиотеками, а также предоставляет отличную документа-цию и поддержку сообщества.
Поскольку создание проектов на Python занимает значительно меньше времени по сравнению с другими языками программирования, создание сайта с его помощью являет-ся самым оптимальным вариантом.
Наиболее оптимальным фреймворком для создания простого веб-приложения яв-ляется Flask. Преимущества использования Flask: