Kolbi kohta
Flask on Pythoni veebipõhine veebirakenduste arendusraamistik, mis on spetsiaalselt loodud minimaalseks, et alustada. See aitab kiiret prototüüpimist, kiiret arendamist ja kiiret juurutamist. Kõiki täpsemaid funktsioone, mille peate oma veebirakendusse lisama, saab lisada laienduste kaudu. Kolvi ametlik sait kirjeldab end kui „mikro” raamistikku, kuna see jätab kõik peamised otsused kasutajate otsustada ja nende nimel otsustab vähe. Kasutajad saavad ise valida mallimootorid, andmebaasihalduse teegid, vormide valideerimise tööriistad ja nii edasi, kuigi kolbiga on kaasas ka mõistlikke vaikeseadeid.
Kolbi installimine Linuxi
Kui kasutate Ubuntu, saate Flaski installida, käivitades allpool nimetatud käsu:
$ sudo apt installib python3-kolbiHoidla versiooni kasutamist saate vältida ja installida kolbi uusim versioon paketihaldurist „pip”, käivitades järgmised kaks käsku järjest:
$ sudo apt installib python3-pip$ pip3 paigalduskolb
Kui kasutate mõnda muud Linuxi levitamist, otsige paketihalduris pakette „Flask” või installige see paketi installimistööriistast „pip”. Täiendavad üksikasjalikud juhised on saadaval siin.
Kui installimine on lõppenud, saate kontrollida kolbi versiooni, kasutades järgmist käsku:
impordikolb $ python3 -c; print (kolb.__versioon__) "Kliendi-serveri mudel
Nagu varem öeldud, kasutatakse kolbi veebirakenduste arendamiseks. Tavaliselt kasutavad kõik Pythoni ja teiste programmeerimiskeelte veebirakenduste arendusraamistikud kliendi-serveri arhitektuuri. Kolb kasutab ka kliendi-serveri mudelit, kus kasutajad saavad veebirakenduste või veebisaitide loomiseks kirjutada serveripoolset loogikat. Klient viitab siin veebibrauserile või mõnele muule rakendusele, mis võimaldab veebilehtede renderdamist HTML-, JavaScripti- ja CSS-tehnoloogiate abil. Kui „server” viitab kohalikule või kaugserverile, kus käivitatakse teie Pythoni keeles kirjutatud Flaski rakendus.
Kui käivitate arvutis Flaski rakenduse, luuakse veebirakenduse teenindamiseks automaatselt kohalik server. Kolb väljastab teie terminalis kohaliku hosti URL-i. Lõpptulemuse vaatamiseks võite seda URL-i külastada mis tahes veebibrauseris. Samuti saate seadistada kaugserveri kliendi ja serveri vahelise suhtluse hõlbustamiseks ning käivitada oma avaliku veebisaidi või veebirakenduse.
Veebirakenduse jaoks vajaliku kliendipoolse HTML-, JavaScripti- ja CSS-koodi saate luua, kasutades serveripoolset koodi, mis on kirjutatud kolvis ja Pythonis. Kuid kui veebirakendus on juurutatud ja käivitate selle veebibrauseris, ei näe teie veebirakendus Pythoni koodi ega mõista seda. See töötleb ainult HTML-i, JavaScripti ja CSS-i, kuna veebibrauserid toetavad peamiselt ainult neid tehnoloogiaid. Saate endiselt serveriga suhelda kliendipoolel, kasutades HTTP-päringuid. Saate väga palju andmeid kliendilt serverisse edastada, neid serveripoolse loogika abil töödelda ja tulemuse tagastada.
Nii et sõltuvalt teie arendatava veebirakenduse tüübist peate võib-olla otsustama, kus loogikat rakendada: kas serveri- või kliendipoolsel üksikjuhtumipõhiselt.
Lihtne Hello Worldi rakendus kolvis
Alustamiseks võite kasutada kolbi lihtsustatud rakenduse „Hello World“ loomiseks allolevat koodinäidist:
kolbi importimiskolbrakendus = Kolb (__ nimi__)
@app.tee('/')
def hello_world_app ():
message = "Tere maailm!!"
tagastussõnum
Ülaltoodud koodinäidise esimene lause impordib mooduli „kolb“ klassi „Flask“. Kui olete importinud, saate kasutada kõiki klassis „Flask” saadaolevaid meetodeid.
Järgmises avalduses luuakse uus klassi „Flask” eksemplar ja faili nimi esitatakse sellele argumendina. Kui kasutate lihtsalt ühte.py ”fail ilma täiendava“ __init__ ”.py ”faili, mida tavaliselt kasutatakse Pythoni paketi failistruktuuri loomisel, on nime kõvakodeeritud väärtus“ __main__ ”. Argument „__name__” ütleb kolvile, kust otsida faile, mis on seotud käimasoleva kolvirakendusega. Argumendi „__name__” sisestamise asemel saate ka oma põhifailifaili oma kohandatud tee sisestada. Kuid tavaliselt kasutab enamik arendajaid ainult nime „__name__” ja see näib olevat tavapraktika.
Järgmisena rakendus "kaunistamine".marsruut ”on lisatud funktsioonile„ tere_maailm_app ”. Kaunistusfunktsioonid laiendavad või muudavad funktsiooni, millele need on kinnitatud, neid tegelikult muutmata. Siin: „rakendus.marsruut ”dekoraatorit kasutatakse URL-i tee määramiseks, kus manustatud funktsioon töötab. Sümbol “/” käsib Kolbil käivitada funktsiooni URL-il /, mis tähistab “root” domeeni või “root” URL-i. Näiteks kui teie rakenduse URL on „rakendus.com ”, käivitatakse funktsioon rakenduse„ app.com ”URL. Saate selle muuta ka millekski muuks. Näiteks kasutades dekoraatorit „@app.route ('/ helloworld') ", saate funktsiooni kaardistada rakendusega" app.com / helloworld ”URL.
Lõpuks kasutatakse funktsiooni "hello_world_app" selle sisu tagastamiseks, mida soovite veebibrauseris kuvada, kui teie veebirakendus töötab.
Kolbi rakenduse käitamine
Rakenduse Flask käitamiseks Linuxis peate käivitama käsu järgmises vormingus:
$ eksport FLASK_APP = peamine.py$ kolbi jookse
Muuda “main.py ”nimi vastavalt vajadusele, et see sobiks teie omaga .”Py” fail, kuhu olete kirjutanud oma kolvikoodi. Teine käsk käivitab teie rakenduse Flask. Võite käivitada ka selle alternatiivse käsu:
$ FLASK_APP = peamine.py kolbi joostaPärast nende käskude käivitamist peaksite nägema mõnda sellist väljundit:
Avage lihtsalt veebibrauseris terminalis mainitud URL, et näha oma rakendust toimimas.
Rakendust Flask saate käivitada silumisrežiimis, kasutades keskkonnamuutujat FLASK_ENV järgmises vormingus:
$ FLASK_ENV = arendus FLASK_APP = peamine.py kolbi joostaJinja2 mallimootori kasutamine
Flask kasutab HTML-koodi Pythonis kirjutamise hõlbustamiseks malli mootorit malliga „Jinja2”. Selle abil saate määrata märgi „Hello World!!”Sõnum.
Looge uus kataloog nimega “mallid”, kus asub teie peamine Flaski skript. Looge kataloogi “mall” sisse uus fail nimega “hw_template.html ”. Avage „hw_template.html ”ja sisestage sinna järgmine kood:
% kui värv%
Tere, Maailm!!
% veel%
Tere, Maailm!!
% endif%
See kood on kirjutatud süntaksis, millest “Jinja2” aru saab. Siit leiate viidet „Jinja2“ dokumentatsioonile. Malli märgistus kontrollib, kas muutuja nimega „värv“ on talle edastatud või mitte. Kui jah, siis muudab see „Tere maailm!!”Sõnum, kasutades selleks talle edastatud muutuja“ color ”väärtust.
Muutuja edastamiseks mallile „Jinja2” peate kirjutama koodi järgmises vormingus:
@app.tee('/')def hello_world_app ():
tagastage render_template ('hw_template.HTML ', color = "red")
Meetodit render_template kasutatakse märgistuse renderdamiseks mallifailist „Jinja2”. Võite talle edastada renderdatava malli nime ja kõik argumendid, mille soovite mallile edastada. „Hw_template.Eespool kasutatud mall html töötleb muutujat „värv” pärast seda, kui kolbikood on talle edastanud muutuja „värv”, mille väärtus on. Pärast ülalnimetatud koodinäidise käivitamist peaksite saama järgmise tulemuse:
Muutujate väärtusi saate edastada ka URL-ist. Vaadake allolevat koodinäidist:
@app.tee('/')@app.tee('/
def tere_maailma_app (värv = "sinine"):
tagastage render_template ('hw_template.HTML ', värv = värv)
Funktsioonile „tere_maailma_app” on lisatud kaks URL-i rada või marsruuti. Kui külastate juurdomeeni (näide „rakendus.com ”), näete„ Hello World!!Sinise värviga muutuja "color" vaikeväärtusena sõnum on määratletud kui "sinine" ja see on väärtus, mille edastate ka mallile "Jinja2".
Teine tee, mille määrab „@app.tee('/
Näiteks: „Tere maailm !!Sõnum muutub punaseks, kui külastate rakendust.com / red ”URL, kuid see jääb siniseks, kui külastate rakendust.com ”URL. Siin on kõrvuti võrdlus:
Järeldus
Kolb on võimas veebirakenduste arendusraamistik, mida saab kasutada nii lihtsate kui ka täiustatud rakenduste loomiseks. Selles õpetuses selgitatakse peamiselt lihtsa “Tere maailm!!”Rakendus. Saate selle andmebaasiga ühendada ja laiendusi selle funktsionaalsuse veelgi laiendamiseks kasutada. Andmebaaside ja laienduste haldamise kohta lisateabe saamiseks lugege Flaski dokumentatsiooni.