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

Flask — Python програмалоо тилинде веб-колдонмолорду түзүү үчүн колдонулган микрофреймворк. Ал MVC долборлоо калыбын жана Jinja2 калып түзүүчүнү колдонот.

Микрофреймворк деп аталышынын себеби - функционалдыгынын аздыгы. Flask жөнөкөй, ошол эле учурда ядросун кеңейтүүгө умтулат. Өзүнөн өзү микрофреймворк катары көп маселе чече албайт. Бирок, ага көптөгөн ар кайсы функционалдагы кеңейтилмелерди туташтырууга болот (мисалы, маалымат базасы менен интеграция кылуу, формаларды текшерүү, серверге кеткен жүктөөлөрдү иштеп чыгуу, ар кайсы аутентификациялоо ж.б.). Бул Flask'тын эң негизги өзгөчөлүгү.

 Конфигурациясы 
Баштапкы абалында Flask'та керектүү болгон конфигурациялык тууралоолор орнотулган. Келишим боюнча, калыптар жана статикалык файлдары ылдыйкы директорияларында жайгашып, тиешелүү аталыштарга ээ болушу керек (templates, static). Албетте, булардын аталышын өзгөртүп койсо болот, бирок, Flask'тын туруктуу иштешине муну кылуу сунушталбайт.  
 Орнотуу 

 Linux системинде 
Flask микрофреймворк Werkzeug жана Jinja2 деген сыяктуу тышкы библиотекаларга көз каранды.
Werkzeug - Python веб колдонмолордун менен серверлердин ортосундагы WSGI - стандарттык интерфейсинин инструментарийи. Ал программалоого жана жайылтууга арналган. 
Jinja2 калыптардын көрүнүшүнө жооп берет.

Flask микрофреймворкту орнотуу үчүн Python 2.6 (же андан өйдө) жана pip колдонулат. Python 3 же андан өйдө болсо, "python3-support" бөлүмүн караш керек.
pip install flask

 Мисал 
Төмөндөгү код 1 файлдан турган (мисалы, "hello.py") жөнөкөй веб-колдонмону түзүп, "Hello World!" жазуусун жазып чыгарат"Расмий документациясы".
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

 Кошумча пакеттер 
Flask пакеттери, адатта, төмөнкүдөй аталат: flask-пакеттин аталышы (мисалы flask-login)
 PyPi'дагы пакеттин аты жана шилтемеТүшүндүрмөДокуметациясыАвторуflask-loginКолдонуучулардын сессияларын башкарууRead the DocsMatthew Frazierflask-sqlalchemySQLAlchemy'ни
колдооPython HostedPhil Howellflask-wtfWTForms жөнөкөй формаларыRead the DocsHsiaoming Yang

 Шилтемелер 
 Flask расмийсайты
 Расмий документациясы (0.10)
 2016-ж.16-январга карата орусчага которулган документациясы (0.10.1)
 Flask - GitHub (ачык код) 

 Колдонулган адабият 
 Flask расмий документациясы (0.10)
Категория:Портал:Маалымат технологиялары/Макалалар