Flask

Flask — мікрофреймворк для веб-додатків, створений з використанням Python. Його основу складає інструментарій Werkzeug та рушій шаблонів Jinja2. Поширюється відповідно до умов ліцензії BSD.

Flask
Тип Вебфреймворк
Розробник Армін Ронакер
Стабільний випуск 1.0.2 (2 травня 2018 (2018-05-02)[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()

Зноски

  1. https://pypi.python.org/pypi/Flask
  2. https://flask.palletsprojects.com/en/2.0.x/changes/
  3. https://github.com/pallets/flask/releases/tag/2.0.2
  4. PyPI Flask. Python Package Index. 27 червня 2016. Процитовано 27 червня 2015.
  5. What challenges has Pinterest encountered with Flask?
  6. Rachel Sanders: Developing Flask Extensions - PyCon 2014
  7. Community web page for Flask
  8. Flask Foreword. Архів оригіналу за 10 листопад 2015. Процитовано 23 травень 2017.
  9. Flask Extensions.
  10. Pocoo team. Архів оригіналу за 10 листопад 2015. Процитовано 23 травень 2017.
  11. Ronacher, Armin. Opening the Flask. Процитовано 30 вересня 2011.
  12. Ronacher, Armin (3 квітня 2010). April 1st Post Mortem. Armin Ronacher's Thoughts and Writings. Процитовано 25 липня 2015.
  13. Denied: the next generation python micro-web-framework (April Fools page). Архів оригіналу за 4 вересня 2011. Процитовано 30 вересня 2011.
  14. Pocoo History. Архів оригіналу за 15 листопад 2015. Процитовано 23 травень 2017.
  15. Python libraries by GitHub stars.
  16. pgjones. quart: A Python ASGI web microframework with the same API as Flask. Процитовано 7 лютого 2022.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.