Flask (веб-фреймворк)
![]() | |
Разработчик(и) | Армин Роначер |
---|---|
Первоначальный выпуск | 1 апреля 2010 г |
Стабильная версия | 3.0.3 [1] ![]() |
Репозиторий | github |
Написано в | Питон |
Тип | Веб-фреймворк |
Лицензия | Лицензия BSD из 3 пунктов |
Веб-сайт | поддоныпроекты |
Flask — это микровеб -фреймворк, написанный на Python . Он классифицируется как микрофреймворк , поскольку не требует определенных инструментов или библиотек. [2] В нем нет уровня абстракции базы данных , проверки формы или каких-либо других компонентов, в которых уже существующие сторонние библиотеки предоставляют общие функции. Однако Flask поддерживает расширения, которые могут добавлять функции приложения, как если бы они были реализованы в самом Flask. Существуют расширения для объектно-реляционных картографов , проверки форм, обработки загрузки, различных технологий открытой аутентификации и нескольких общих инструментов, связанных с инфраструктурой. [3]
Приложения, использующие платформу Flask, включают Pinterest и LinkedIn . [4] [5]
История
[ редактировать ]Flask был создан Армином Ронахером из Pocoo, международной группы энтузиастов Python, созданной в 2004 году. [6] По словам Ронахера, изначально эта идея была первоапрельской шуткой, которая была достаточно популярной, чтобы ее можно было найти в серьезном применении. [7] [8] [9] Название представляет собой игру на более раннем фреймворке Bottle. [7]
Когда Ронахер и Георг Брандл в 2004 году создали систему досок объявлений, написанную на Python, были разработаны проекты Pocoo Werkzeug и Jinja . [10]
В апреле 2016 года команда Pocoo была расформирована, а разработка Flask и связанных с ней библиотек перешла к недавно сформированному проекту Pallets. [11] [12] С 2018 года данные и объекты, связанные с Flask, можно визуализировать с помощью Bootstrap . [13]
Flask стал популярен среди энтузиастов Python. По состоянию на октябрь 2020 г. [update], он занимает второе место по количеству звезд на GitHub среди фреймворков веб-разработки Python, лишь немного уступая Django , [14] и был признан самым популярным веб-фреймворком в опросе разработчиков Python за годы с 2018 по 2022 год включительно. [15] [16] [17] [18] [19]
Компоненты
[ редактировать ]Микрофреймворк Flask входит в состав Pallets Projects (ранее Pocoo ) и основан на нескольких других из них, все под лицензией BSD .
Инструмент
[ редактировать ]Werkzeug ( по-немецки «инструмент») — это служебная библиотека для языка программирования Python для приложений интерфейса веб-сервера (WSGI). Werkzeug может создавать экземпляры объектов для функций запроса, ответа и служебных функций. Его можно использовать в качестве основы для специальной программной среды , он поддерживает Python 2.7, 3.5 и более поздних версий. [20] [21]
Джинджа
[ редактировать ]Jinja, также разработанный Ронахером, — это шаблонизатор для языка программирования Python. Подобно веб-фреймворку Django, он обрабатывает шаблоны в «песочнице» .
MarkupSafe
[ редактировать ]MarkupSafe — это библиотека обработки строк для языка программирования Python. Одноименный тип MarkupSafe расширяет строковый тип Python и помечает его содержимое как «безопасное»; объединение MarkupSafe с обычными строками автоматически экранирует немаркированные строки, избегая при этом двойного экранирования уже отмеченных строк.
ЭтоОпасно
[ редактировать ]ItsDangerous — это безопасная библиотека сериализации данных для языка программирования Python. Он используется для хранения сеанса приложения Flask в файле cookie, не позволяя пользователям вмешиваться в содержимое сеанса.
Функции
[ редактировать ]- Сервер разработки и отладчик
- Интегрированная поддержка модульного тестирования.
- RESTful запросов Отправка
- Использует шаблоны Jinja
- Поддержка безопасных файлов cookie (сеансы на стороне клиента)
- 100% совместимость с WSGI 1.0
- Unicode на основе
- Полная документация
- с Google App Engine Совместимость
- Доступны расширения для расширения функциональности
Пример
[ редактировать ]Следующий код показывает простое веб-приложение, отображающее « Hello World !» при посещении:
from flask import Flaskapp = Flask(__name__)@app.route("/")def hello() -> str: return "Hello World"if __name__ == "__main__": app.run()
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Выпуск 3.0.3» . 7 апреля 2024 г. Проверено 23 апреля 2024 г.
- ^ «Фляга Предисловие» . Архивировано из оригинала 17 ноября 2017 г.
- ^ «Расширения колб» . Архивировано из оригинала 17 мая 2018 г.
- ^ С какими проблемами столкнулся Pinterest при использовании Flask?
- ^ Рэйчел Сандерс: Разработка расширений Flask - PyCon 2014
- ^ «Команда Покоо» . Архивировано из оригинала 15 марта 2018 г.
- ^ Jump up to: а б Роначер, Армин. «Открытие колбы» (PDF) . Архивировано из оригинала (PDF) 17 декабря 2016 г. Проверено 30 сентября 2011 г.
- ^ Роначер, Армин (3 апреля 2010 г.). «Вскрытие от 1 апреля» . Мысли и сочинения Армина Ронахера . Архивировано из оригинала 14 мая 2018 г. Проверено 25 июля 2015 г.
- ^ «Отказано: микровеб-фреймворк Python следующего поколения (первоапрельская страница)» . Архивировано из оригинала 4 сентября 2011 г. Проверено 30 сентября 2011 г.
- ^ «История» . Команда Покоо. Архивировано из оригинала 19 ноября 2017 г. Проверено 25 марта 2015 г.
- ^ Ронахер, Армин (01 апреля 2016 г.). «Привет, пользователи поддонов» . Проекты поддонов . Проверено 8 мая 2021 г.
- ^ «Покоо» . www.pocoo.org . Проверено 8 мая 2021 г.
- ^ «Bootstrap-Flask» . ПриветFlask . Проверено 6 ноября 2022 г.
- ^ «Библиотеки Python от звезд GitHub» . Гитхаб . Проверено 27 января 2020 г.
- ^ «Опрос разработчиков Python 2018» . www.jetbrains.com. 01.11.2018.
- ^ «Опрос разработчиков Python 2019» . www.jetbrains.com. 2019.
- ^ «Опрос разработчиков Python 2020» . www.jetbrains.com. 2020.
- ^ «Опрос разработчиков Python 2021» . www.jetbrains.com. 2021.
- ^ «Результаты опроса разработчиков Python за 2022 год» . www.jetbrains.com. 2022 . Проверено 17 октября 2023 г.
- ^ Роначер, Армин. «Werkzeug — библиотека утилит Python WSGI» . palletsprojects.com . Проверено 27 мая 2018 г.
- ^ Роначер, Армин. «Установка, версия Python» . palletsprojects.com . Архивировано из оригинала 11 мая 2021 года . Проверено 20 апреля 2020 г.