Flask
Тип | Вебфреймворк |
---|---|
Розробник | Армін Ронакер |
Стабільний випуск | 1.0.2 (2 травня 2018[1]) |
Операційна система | Cross-platform |
Мова програмування | Python |
Ліцензія | BSD |
Онлайн-документація | flask.palletsprojects.com(англ.) |
Репозиторій | github.com/pallets/flask |
Вебсайт | flask.pocoo.org |
Flask — мікрофреймворк для вебдодатків, створений з використанням Python. Його основу складає інструментарій Werkzeug та рушій шаблонів Jinja2. Поширюється відповідно до умов ліцензії BSD.
Станом на лютий 2022 року стабільна версія Flask має номер 2.02.[2] Flask використовується для розробки таких проєктів як Pinterest,[3] LinkedIn,[4] а також сторінка спільноти Flask.[5]
Flask називається мікрофреймворком, оскільки він не вимагає спеціальних засобів чи бібліотек.[6] У ньому відсутній рівень абстракції для роботи з базою даних, перевірки форм або інші компоненти, які надають широковживані функції за допомогою сторонніх бібліотек. Однак, Flask має підтримку розширень, які надають додаткові властивості таким чином, наче вони були доступні у Flask із самого початку. Існують розширення для встановлення об'єктно-реляційних зв'язків, перевірки форм, контролю процесу завантаження, підтримки різноманітних відкритих технологій аутентифікації та декількох поширених засобів для фреймворку. Розширення оновлюються частіше аніж базовий код.[7]
Flask створено Арміном Ронакером у 2010 році в рамках діяльності проєкту Pocoo.[8]
"Все починалось як першоквітневий жарт, проте заживши великої слави, проєкт став по праву серйозним додатком.""It came out of an April Fool's joke but proved popular enough to make into a serious application in its own right."[9][10][11]
Flask базується на засобі Werkzeug WSGI а також рушієві шаблонів Jinja2, що їх було створено як проєкти Pocoo у 2007 та 2008 роках відповідно, коли Ронакер та Ґеорґ Брандл створювали систему дошки оголошень на Python.[12]
Незважаючи на відсутність головного релізу, Flask став надзвичайно популярним серед шанувальників Python. Станом на середину 2016 року, він був найбільш популярним вебфреймворком Python на GitHub.[13]
Flask несумісний з асинхронним програмуванням та бібліотеками, які використовують його, для цього було створено його форк під назвою Quart.[14]
- Містить сервер для розробки та відлагоджувач
- Вбудована підтримка юніт-тестів
- Управління запитами RESTful
- Використовує шаблони Jinja2
- Має підтримку безпечних куків (сесії на стороні клієнта)
- 100% відповідність WSGI 1.0
- Підтримка Unicode
- Докладна документація
- Сумісність з Google App Engine
- Наявність розширень для забезпечення бажаної поведінки
Werkzeug (в перекладі з німецької "інструмент") - бібліотека на python, яка реалізує WSGI. Може створювати об'єкти request, response та має набір допоможних функцій.
Jinja це рушій шаблонів для python, також розроблений Арміном Ронакером. Схожий на Django-шаблонізатор. , for the Python programming language. Similar to the Django web framework, it handles templates in a sandbox.
MarkupSafe це бібліотека для обробки рядків для мови програмування python. Реалізує тип даних MarkupSafe, який розширює рядок, помічає його вміст як "безпечний" що дозволяє спростити обробку рядків, які потребують екранування в HTML, щоб той текст не був інтепретований HTML-теги, тощо.
ItsDangerous - серіалізатор рядків для мови програмування python. Використовується для того щоб зберігати сессії в cookie, не дозволяючи користувачам їх перехоплювати та змінювати.
Даний код демонструє простий вебдодаток, який показує фразу "Hello World!":
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
- ↑ Архівована копія. Архів оригіналу за 22 серпня 2017. Процитовано 23 травня 2017.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ PyPI Flask. Python Package Index. 27 червня 2016. Архів оригіналу за 22 серпня 2017. Процитовано 27 червня 2015.
- ↑ What challenges has Pinterest encountered with Flask?
- ↑ Rachel Sanders: Developing Flask Extensions - PyCon 2014. Архів оригіналу за 31 липня 2017. Процитовано 23 травня 2017.
- ↑ Community web page for Flask. Архів оригіналу за 5 січня 2018. Процитовано 1 червня 2021.
- ↑ Flask Foreword. Архів оригіналу за 10 листопад 2015. Процитовано 23 травень 2017.
- ↑ Flask Extensions. Архів оригіналу за 17 травня 2018. Процитовано 23 травня 2017.
- ↑ Pocoo team. Архів оригіналу за 10 листопад 2015. Процитовано 23 травень 2017.
- ↑ Ronacher, Armin. Opening the Flask (PDF). Архів оригіналу (PDF) за 30 березня 2012. Процитовано 30 вересня 2011.
- ↑ Ronacher, Armin (3 квітня 2010). April 1st Post Mortem. Armin Ronacher's Thoughts and Writings. Архів оригіналу за 14 травня 2018. Процитовано 25 липня 2015.
- ↑ Denied: the next generation python micro-web-framework (April Fools page). Архів оригіналу за 4 вересня 2011. Процитовано 30 вересня 2011.
- ↑ Pocoo History. Архів оригіналу за 15 листопад 2015. Процитовано 23 травень 2017.
- ↑ Python libraries by GitHub stars. Архів оригіналу за 29 липня 2017. Процитовано 23 травня 2017.
- ↑ Quart documentation — Quart 0.18.3 documentation. quart.palletsprojects.com. Процитовано 16 лютого 2023.