Armin Ronacher из Pocoo, всемирной организации поклонников Python, основанной в 2004 году, разработал Flask. Ронахер утверждает, что эта концепция изначально задумывалась как первоапрельская шутка, но получила достаточно широкое распространение, чтобы ее можно было использовать в серьезных приложениях. Название пародирует предыдущий фреймворк Bottle.
В 2004 году Ронахер и Георг Брандл создали бюллетень на основе Python.
бортовая система, которая привела к созданию проектов Pocoo Werkzeug и Jinja.
Разработка Flask и связанных библиотек была передана недавно запущенному проекту Pallets в апреле 2016 года, когда команда Pocoo была расформирована. С 2018 года Bootstrap, React и Even Html могут отображать данные и объекты, связанные с Flask.
Сообщество Python полюбило Flask. Среди веб-разработчиков Python он занимает второе место по количеству рейтингов на GitHub по состоянию на октябрь 2020 года. Он также имеет второе место по количеству звезд на GitHub среди сред веб-разработки Python, уступая только Django, и получил много голосов. в опросе разработчиков Python за 2018–2019–2020–2021 годы как самый популярный веб-фреймворк.
Компоненты
Микрофреймворк Flask под лицензией BSD является компонентом Pallets Projects (ранее Pocoo) и основан на ряде других.
Werkzeug
Библиотека утилит языка программирования Python для приложений Web Server Gateway Interface (WSGI) называется Werkzeug (буквально «инструмент» на немецком языке). Для запросов, ответов и служебных целей Werkzeug может создавать объекты. Он поддерживает Python 2.7 и версии 3.5 и выше и может служить основой для уникальной программной среды.[19][20]
Jinja
Jinja (движок шаблонов) — основная статья
Механизм шаблонов для языка программирования Python называется Jinja, также созданный Ронахером. Он управляет шаблонами в песочнице, как веб-фреймворк Django.
MarkupSafe Для языка программирования Python существует библиотека обработки строк под названием MarkupSafe. При использовании с обычными строками MarkupSafe автоматически экранирует любые непомеченные строки, предотвращая двойное экранирование отмеченных строк. MarkupSafe расширяет строковый тип Python и определяет его содержимое как «безопасное». Когда MarkupSafe используется с обычными строками, непомеченные строки автоматически экранируются без двойного экранирования помеченных строк.
itsDangerous Библиотека безопасной сериализации данных для Python называется itsDangerous. Он используется для сохранения сеанса приложения Flask в файле cookie, не позволяя пользователям изменять содержимое сеанса.
Имеет отладчик и сервер разработки. Поддержка интегрированного модульного тестирования. Использует отправку запросов RESTful. Поддержка составления Jinja для сеансов на стороне клиента с безопасными файлами cookie. .
Вот несколько примеров:
from
flask import
Flask
app =
Flask(__name__)
@app.route('/hello/<name>')
def
hello_name(name):
return
'Hello %s!'
%
name
if
__name__ ==
'__main__':
app.run()