O tikvici
Flask je okvir za razvoj web aplikacija zasnovan na Pythonu koji je posebno dizajniran da bude minimalan za početak. To pomaže u brzom prototipiranju, brzom razvoju i brzom postavljanju. Sve napredne značajke koje trebate dodati u svoju web aplikaciju mogu se dodati putem proširenja. Službena stranica Flask sebe opisuje kao "mikro" okvir jer sve glavne odluke prepušta samim korisnicima i malo odlučuje u njihovo ime. Korisnici mogu odabrati vlastite mehanizme predložaka, knjižnice za upravljanje bazama podataka, alate za provjeru valjanosti obrazaca i tako dalje, iako Flask dolazi s nekim normalnim zadanim postavkama.
Instaliranje Flaska u Linux
Ako koristite Ubuntu, Flask možete instalirati izvršavanjem dolje navedene naredbe:
$ sudo apt instalirati python3-tikvicuMožete izbjeći upotrebu verzije spremišta i instalirati najnoviju verziju Flaska iz upravitelja paketa "pip" tako da uzastopno pokrenete dvije naredbe:
$ sudo apt instalirati python3-pip$ pip3 instalacijska tikvica
Ako koristite bilo koju drugu distribuciju Linuxa, potražite pakete “Flask” u upravitelju paketa ili ga instalirajte iz alata za instalaciju paketa “pip”. Daljnje detaljne upute dostupne su ovdje.
Nakon završetka instalacije, možete provjeriti verziju tikvice pomoću naredbe navedene u nastavku:
$ python3 -c "tikvica za uvoz; ispis (tikvica.__verzija__)"Model klijent-poslužitelj
Kao što je ranije rečeno, Flask se koristi za razvoj web aplikacija. Tipično, svi okviri za razvoj web aplikacija u Pythonu i drugim programskim jezicima koriste arhitekturu klijent-poslužitelj. Flask također koristi model klijent-poslužitelj gdje korisnici mogu pisati logiku na strani poslužitelja za stvaranje web aplikacija ili web stranica. Ovdje se "klijent" odnosi na web preglednik ili bilo koju drugu aplikaciju koja omogućuje prikazivanje web stranica pomoću HTML, JavaScript i CSS tehnologija. Dok se "poslužitelj" odnosi na lokalni ili udaljeni poslužitelj na kojem se izvršava vaša aplikacija Flask napisana na jeziku Python.
Kada lokalno pokrenete aplikaciju Flask na računalu, automatski se kreira lokalni poslužitelj koji služi web aplikaciji. Tikvica će na vašem terminalu prikazati URL lokalnog hosta. Ovaj URL možete posjetiti u bilo kojem web pregledniku da biste vidjeli konačni rezultat. Također možete postaviti udaljeni poslužitelj kako biste olakšali komunikaciju između klijenta i poslužitelja i pokrenuli vlastitu javnu web stranicu ili web aplikaciju.
Možete stvoriti HTML, JavaScript i CSS kôd na strani klijenta potreban za vašu web aplikaciju pomoću koda na strani poslužitelja napisanog u Flask i Python. No, nakon što je web aplikacija postavljena i pokrenete je u web pregledniku, vaša web aplikacija neće vidjeti ili razumjeti Python kôd. Obrađivat će samo HTML, JavaScript i CSS jer web preglednici uglavnom podržavaju samo ove tehnologije. I dalje ćete moći komunicirati s poslužiteljem s klijentske strane pomoću HTTP zahtjeva. Možete prenijeti podatke s klijenta na poslužitelj, obraditi ih pomoću neke logike na strani poslužitelja i vratiti rezultat.
Dakle, ovisno o vrsti web aplikacije koju razvijate, možda ćete morati odlučiti gdje ćete implementirati logiku: na strani poslužitelja ili na strani klijenta od slučaja do slučaja.
Jednostavna aplikacija Hello World u tikvici
Da biste započeli, možete upotrijebiti donji uzorak koda za stvaranje jednostavne aplikacije "Hello World" u Flasku:
iz tikvice uvoz Tikvicaapp = tikvica (__ ime__)
@app.ruta ('/')
def hello_world_app ():
message = "Pozdrav svijetu!!"
povratna poruka
Prva izjava u gornjem uzorku koda uvozi klasu "Flask" iz modula "tikvica". Jednom uvezeni, moći ćete koristiti sve metode dostupne u klasi "Flask".
U sljedećem izrazu kreira se nova instanca klase „Flask“ i ime datoteke joj se dostavlja kao argument. Ako koristite samo jedan.py "datoteka bez dodatnog" __init__.py "Datoteka koja se obično koristi tijekom stvaranja strukture datoteke za Python paket, naziv će imati kodiranu vrijednost" __main__ ". Argument "__name__" govori Flasku gdje potražiti datoteke povezane s trenutnom aplikacijom tikvice koja se izvršava. Također možete unijeti vlastiti prilagođeni put do glavne datoteke tikvice umjesto da navedete argument "__name__". Ali obično većina programera koristi samo "__name__" i čini se da je to uobičajena praksa.
Dalje, aplikacija "ukras".ruta “pridružena je funkciji„ hello_world_app “. Funkcije ukrašavanja proširuju ili mijenjaju funkciju kojoj su pridružene, a da ih zapravo ne mijenjaju. Ovdje, „app.route ”dekorator koristi se za određivanje URL staze na kojoj će se izvršavati pridružena funkcija. Simbol „/“ govori tikvici da izvrši funkciju na URL-u „/“, što znači „korijenska“ domena ili „korijenski“ URL. Na primjer, ako je URL vaše aplikacije „app.com ”, funkcija će se pokrenuti za„ app.com ”URL. Možete ga promijeniti i u nešto drugo. Na primjer, upotrebom dekoratora “@app.route ('/ helloworld') ", možete preslikati funkciju u" app.com / helloworld ”URL.
Konačno, funkcija "hello_world_app" koristi se za vraćanje sadržaja koji želite prikazati u web pregledniku dok je vaša web aplikacija pokrenuta.
Pokretanje aplikacije Flask
Da biste pokrenuli aplikaciju Flask u Linuxu, morate pokrenuti naredbu u sljedećem formatu:
$ izvoz FLASK_APP = glavni.py$ tikvica pokrenuta
Promjena „glavna.py ”naziv prema potrebi kako bi se podudarao sa vašim vlastitim ."Py" datoteku u koju ste napisali svoj kod tikvice. Druga naredba pokreće vašu aplikaciju Flask. Također možete pokrenuti i ovu zamjensku naredbu:
$ FLASK_APP = glavno.py tikvica trčanjeNakon pokretanja ovih naredbi trebali biste vidjeti neke rezultate poput ovog:
Samo otvorite URL naveden u terminalu u web pregledniku da biste vidjeli svoju aplikaciju na djelu.
Aplikaciju Flask možete pokrenuti u načinu uklanjanja pogrešaka pomoću varijable okoline “FLASK_ENV” u sljedećem formatu:
$ FLASK_ENV = razvoj FLASK_APP = glavni.py tikvica trčanjeKorištenje Jinja2 Template Engine
Flask koristi "Jinja2" za izradu predloška kako bi olakšao pisanje HTML koda u Pythonu. Pomoću nje možete postaviti oznaku za „Hello World!!”Poruka.
Stvorite novi direktorij nazvan "predlošci" u kojem se nalazi vaša glavna skripta tikvice. Unutar direktorija “template” stvorite novu datoteku s imenom “hw_template.html ". Otvorite „hw_template.html ”i u nju stavite sljedeći kod:
% ako je boja%
Pozdrav svijete!!
% else%
Pozdrav svijete!!
% završi ako %
Ovaj je kod napisan u sintaksi koju "Jinja2" razumije. Možete se pozvati na ovdje dostupnu dokumentaciju „Jinja2“. Oznaka predloška provjerava je li mu dodana varijabla pod nazivom "boja". Ako je odgovor da, tada se mijenja boja "Hello World!!”Poruka koristeći vrijednost iz varijable„ boja ”koja joj je proslijeđena.
Da biste proslijedili varijablu u predložak “Jinja2”, morate napisati kod u sljedećem formatu:
@app.ruta ('/')def hello_world_app ():
return render_template ('hw_template.html ', boja = "crvena")
Metoda "render_template" koristi se za prikazivanje oznaka iz datoteke predloška "Jinja2". Možete mu dostaviti ime predloška koji želite prikazati i sve argumente koje želite proslijediti predlošku. "Hw_template.html ”predložak koji se koristi gore obrađuje varijablu„ boja ”nakon što joj je kod tikvice proslijedio varijablu„ boja ”koja ima vrijednost„ crvena ”. Nakon pokretanja gore spomenutog uzorka koda trebali biste dobiti sljedeći rezultat:
Vrijednosti varijabli možete proslijediti i sa samog URL-a. Pogledajte uzorak koda u nastavku:
@app.ruta ('/')@app.ruta ('/
def hello_world_app (boja = "plava"):
return render_template ('hw_template.html ', boja = boja)
Dvije URL staze ili rute pridružene su funkciji "hello_world_app". Kada posjetite korijensku domenu (primjer „app.com "), vidjet ćete" Hello World!!"Poruka u plavoj boji kao zadana vrijednost za varijablu" boja "definirana je kao" plava "i to je vrijednost koju prosljeđujete i u predložak" Jinja2 ".
Drugi put definiran pomoću „@app.ruta ('/
Na primjer, „Hello World !!"Poruka će se promijeniti u crvenu boju kada posjetite" aplikaciju.com / red ”URL, ali ostat će plava kada posjetite“ app.com ”URL. Evo usporedne usporedbe:
Zaključak
Flask je moćan okvir za razvoj web aplikacija koji se može koristiti za stvaranje jednostavnih i naprednih aplikacija. Ovaj vodič uglavnom objašnjava stvaranje jednostavnog „Hello World!!”Aplikacija. Možete ga povezati s bazom podataka i koristiti proširenja za daljnje proširenje njegove funkcionalnosti. Pogledajte dokumentaciju Flask kako biste saznali više o upravljanju bazama podataka i proširenjima.