stringtranslate.com

Flask (веб-фреймворк)

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 года он занимает второе место по количеству звезд на GitHub среди фреймворков веб-разработки Python, лишь немного уступая Django [14] , и был признан самым популярным веб-фреймворком в опросе разработчиков Python за годы с 2018 по 2022 год включительно. [15] [16] [17] [18] [19]

Компоненты

Микрофреймворк Flask является частью проекта Pallets (ранее Pocoo ) и основан на нескольких других проектах, все под лицензией BSD .

Werkzeug

Werkzeug ( нем. «инструмент») — это библиотека утилит для языка программирования Python для приложений Web Server Gateway Interface (WSGI). Werkzeug может создавать экземпляры объектов для функций запроса, ответа и утилит. Она может использоваться в качестве основы для пользовательского фреймворка программного обеспечения и поддерживает Python 2.7 и 3.5 и более поздние версии. [20] [21]

Джинджа

Jinja, также от Ronacher, — это шаблонизатор для языка программирования Python. Подобно веб-фреймворку Django, он обрабатывает шаблоны в песочнице .

MarkupSafe

MarkupSafe — это библиотека обработки строк для языка программирования Python. Одноименный тип MarkupSafe расширяет тип строки Python и помечает его содержимое как «безопасное»; объединение MarkupSafe с обычными строками автоматически экранирует неотмеченные строки, избегая при этом двойного экранирования уже отмеченных строк.

ЭтоОпасно

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

Функции

Пример

Следующий код демонстрирует простое веб-приложение, которое при посещении отображает « Hello World !»:

из  flask  импортировать  Flask приложение  =  Flask ( __name__ )@app . route ( "/" ) def  hello ()  ->  str :  return  "Привет, мир"если  __name__  ==  "__main__ " :  приложение.run ( )

Смотрите также

Ссылки

  1. ^ "Release 3.0.3". 7 апреля 2024 г. Получено 23 апреля 2024 г.
  2. ^ "Flask Foreword". Архивировано из оригинала 2017-11-17.
  3. ^ "Flask Extensions". Архивировано из оригинала 2018-05-17.
  4. ^ С какими трудностями столкнулся Pinterest при использовании Flask?
  5. ^ Рэйчел Сандерс: Разработка расширений Flask - PyCon 2014
  6. ^ "Pocoo Team". Архивировано из оригинала 2018-03-15.
  7. ^ ab Ronacher, Armin. "Открытие фляги" (PDF) . Архивировано из оригинала (PDF) 2016-12-17 . Получено 2011-09-30 .
  8. ^ Ронахер, Армин (3 апреля 2010 г.). "April 1st Post Mortem". Мысли и сочинения Армина Ронахера . Архивировано из оригинала 2018-05-14 . Получено 2015-07-25 .
  9. ^ "Отказано: микровеб-фреймворк следующего поколения Python (страница первоапрельской шутки)". Архивировано из оригинала 2011-09-04 . Получено 2011-09-30 .
  10. ^ "История". Pocoo Team. Архивировано из оригинала 2017-11-19 . Получено 2015-03-25 .
  11. ^ Ронахер, Армин (2016-04-01). "Hello Pallets Users". The Pallets Projects . Получено 2021-05-08 .
  12. ^ "Pocoo". www.pocoo.org . Получено 2021-05-08 .
  13. ^ "Загрузочная колба" . ПриветFlask . Проверено 6 ноября 2022 г.
  14. ^ "Библиотеки Python от GitHub stars". Github . Получено 2020-01-27 .
  15. ^ «Опрос разработчиков Python 2018». www.jetbrains.com. 2018-11-01.
  16. ^ «Опрос разработчиков Python 2019». www.jetbrains.com. 2019.
  17. ^ «Опрос разработчиков Python 2020». www.jetbrains.com. 2020.
  18. ^ «Опрос разработчиков Python 2021». www.jetbrains.com. 2021.
  19. ^ "Результаты опроса разработчиков Python 2022". www.jetbrains.com. 2022 . Получено 17 октября 2023 г.
  20. ^ Ронахер, Армин. "Werkzeug The Python WSGI Utility Library". palletsprojects.com . Получено 27 мая 2018 г. .
  21. ^ Ронахер, Армин. «Установка, версия Python». palletsprojects.com . Архивировано из оригинала 11 мая 2021 г. . Получено 20 апреля 2020 г. .

Внешние ссылки