Flask
Flask — мікрофреймворк для веб-додатків, створений з використанням Python. Його основу складає інструментарій Werkzeug та рушій шаблонів Jinja2. Поширюється відповідно до умов ліцензії BSD.
| |
Тип | Вебфреймворк |
---|---|
Розробник | Армін Ронакер |
Стабільний випуск | 1.0.2 (2 травня 2018[1]) |
Версії | 2.0.2 (4 жовтня 2021)[2][3] |
Репозиторій | https://github.com/pallets/flask, https://github.com/pallets/flask |
Операційна система | Cross-platform |
Мова програмування | Python |
Ліцензія | BSD |
Вебсайт | flask.pocoo.org |
Станом на лютий 2022 року стабільна версія Flask має номер 2.02.[4] Flask використовується для розробки таких проєктів як Pinterest,[5] LinkedIn,[6] а також сторінка спільноти Flask.[7]
Flask називається мікрофреймворком, оскільки він не вимагає спеціальних засобів чи бібліотек.[8] У ньому відсутній рівень абстракції для роботи з базою даних, перевірки форм або інші компоненти, які надають широковживані функції за допомогою сторонніх бібліотек. Однак, Flask має підтримку розширень, які надають додаткові властивості таким чином, наче вони були доступні у Flask із самого початку. Існують розширення для встановлення об'єктно-реляційних зв'язків, перевірки форм, контролю процесу завантаження, підтримки різноманітних відкритих технологій аутентифікації та декількох поширених засобів для фреймворку. Розширення оновлюються частіше аніж базовий код.[9]
Історія
Flask створено Арміном Ронакером у 2010 році в рамках діяльності проєкту Pocoo.[10]
"Все починалось як першоквітневий жарт, проте заживши великої слави, проєкт став по праву серйозним додатком.""It came out of an April Fool's joke but proved popular enough to make into a serious application in its own right."[11][12][13]
Flask базується на засобі Werkzeug WSGI а також рушієві шаблонів Jinja2, що їх було створено як проєкти Pocoo у 2007 та 2008 роках відповідно, коли Ронакер та Ґеорґ Брандл створювали систему дошки оголошень на Python.[14]
Незважаючи на відсутність головного релізу, Flask став надзвичайно популярним серед шанувальників Python. Станом на середину 2016 року, він був найбільш популярним веб-фреймворком Python на GitHub.[15]
Flask несумісний з асинхронним програмуванням та бібліотеками, які використовують його, для цього було створено його форк під назвою Quart.[16]
Властивості
- Містить сервер для розробки та відлагоджувач
- Вбудована підтримка юніт-тестів
- Управління запитами RESTful
- Використовує шаблони Jinja2
- Має підтримку безпечних куків (сесії на стороні клієнта)
- 100% відповідність WSGI 1.0
- Підтримка Unicode
- Докладна документація
- Сумісність з Google App Engine
- Наявність розширень для забезпечення бажаної поведінки
Приклад
Даний код демонструє простий веб-додаток, який показує фразу "Hello World!":
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
Зноски
- https://pypi.python.org/pypi/Flask
- https://flask.palletsprojects.com/en/2.0.x/changes/
- https://github.com/pallets/flask/releases/tag/2.0.2
- PyPI Flask. Python Package Index. 27 червня 2016. Процитовано 27 червня 2015.
- What challenges has Pinterest encountered with Flask?
- Rachel Sanders: Developing Flask Extensions - PyCon 2014
- Community web page for Flask
- Flask Foreword. Архів оригіналу за 10 листопад 2015. Процитовано 23 травень 2017.
- Flask Extensions.
- Pocoo team. Архів оригіналу за 10 листопад 2015. Процитовано 23 травень 2017.
- Ronacher, Armin. Opening the Flask. Процитовано 30 вересня 2011.
- Ronacher, Armin (3 квітня 2010). April 1st Post Mortem. Armin Ronacher's Thoughts and Writings. Процитовано 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.
- pgjones. quart: A Python ASGI web microframework with the same API as Flask. Процитовано 7 лютого 2022.