bučka

Ustvarite aplikacijo Hello World z uporabo Flask Framework

Ustvarite aplikacijo Hello World z uporabo Flask Framework
Ta članek bo zajemal vodnik o pisanju preproste aplikacije hello world z uporabo ogrodja Flask, ki temelji na Pythonu. Bučko lahko uporabite za ustvarjanje minimalnih, razširljivih in naprednih spletnih aplikacij z uporabo nabora knjižnic, vključenih v njen modul. Vsi vzorci kode v tej vadnici so preizkušeni na Ubuntu 20.10 z različico Python 3.8.6 in različica Flask 1.1.2.

O bučki

Flask je okvir za razvoj spletnih aplikacij, ki temelji na Pythonu in je posebej zasnovan tako, da je minimalen za začetek. To pomaga pri hitrem prototipiranju, hitrem razvoju in hitri uvedbi. Vse napredne funkcije, ki jih morate dodati v svojo spletno aplikacijo, lahko dodate prek razširitev. Uradno spletno mesto Flask se opisuje kot "mikro" okvir, saj vse pomembne odločitve prepušča uporabnikom samim in se v njihovem imenu malo. Uporabniki lahko izberejo lastne mehanizme za predloge, knjižnice za upravljanje baz podatkov, orodja za preverjanje obrazcev in tako naprej, čeprav Flask prihaja z nekaterimi pametnimi privzetimi.

Namestitev Flaska v Linux

Če uporabljate Ubuntu, lahko Flask namestite tako, da izvedete spodnji ukaz:

$ sudo apt namestite python3-bučko

Lahko se izognete uporabi različice repozitorija in namestite najnovejšo različico Flaska iz upravitelja paketov »pip«, tako da zaporedoma zaženete dva ukaza:

$ sudo apt namestite python3-pip
$ pip3 namestitvena bučka

Če uporabljate katero koli drugo distribucijo Linuxa, poiščite pakete "Flask" v upravitelju paketov ali pa jih namestite v orodju za namestitev paketa "pip". Nadaljnja podrobna navodila so na voljo tukaj.

Ko je namestitev končana, lahko s spodnjim ukazom preverite različico bučke:

$ python3 -c "bučka za uvoz; print (bučka.__verzija__) "

Model odjemalec-strežnik

Kot smo že omenili, se Flask uporablja za razvoj spletnih aplikacij. Običajno vsi okviri za razvoj spletnih aplikacij v Pythonu in drugih programskih jezikih uporabljajo arhitekturo odjemalec-strežnik. Flask uporablja tudi model odjemalca in strežnika, kjer lahko uporabniki pišejo logiko na strani strežnika za ustvarjanje spletnih aplikacij ali spletnih mest. Tu se "odjemalec" nanaša na spletni brskalnik ali katero koli drugo aplikacijo, ki omogoča upodabljanje spletnih strani z uporabo tehnologij HTML, JavaScript in CSS. Medtem ko se »strežnik« nanaša na lokalni ali oddaljeni strežnik, kjer se izvaja vaša aplikacija Flask, napisana v jeziku Python.

Ko lokalno zaženete aplikacijo Flask v računalniku, se samodejno ustvari lokalni strežnik, ki služi spletni aplikaciji. Bučka bo na vašem terminalu izdala URL lokalnega gostitelja. Ta URL lahko obiščete v katerem koli spletnem brskalniku in si ogledate končni rezultat. Lahko tudi nastavite oddaljeni strežnik za lažjo komunikacijo med odjemalcem in strežnikom ter zagon lastnega javnega spletnega mesta ali spletne aplikacije.

Z uporabo kode na strani strežnika, napisane v Flask in Python, lahko ustvarite kodo HTML, JavaScript in CSS na strani odjemalca. Ko pa je spletna aplikacija uvedena in jo zaženete v spletnem brskalniku, vaša spletna aplikacija ne bo videla ali razumela kode Python. Obdeloval bo le HTML, JavaScript in CSS, saj spletni brskalniki podpirajo samo te tehnologije. Še vedno boste lahko komunicirali s strežnikom s strani odjemalca z uporabo HTTP zahtev. Podatke lahko zelo prenašate od odjemalca do strežnika, jih obdelujete z uporabo neke logike na strani strežnika in vrnete rezultat.

Torej, odvisno od vrste spletne aplikacije, ki jo razvijate, se boste morda morali odločiti, kje boste implementirali logiko: na strani strežnika ali odjemalca za vsak primer posebej.

Enostavna aplikacija Hello World v bučki

Za začetek lahko s spodnjim vzorcem kode ustvarite poenostavljeno aplikacijo "Hello World" v Flasku:

iz bučke uvoz Bučka
app = bučka (__ ime__)
@app.pot ('/')
def hello_world_app ():
message = "Pozdravljeni, svet!!"
vrni sporočilo

Prva izjava v zgornjem vzorcu kode uvozi razred "Flask" iz modula "flask". Po uvozu boste lahko uporabili vse metode, ki so na voljo v razredu "Bučka".

V naslednjem stavku se ustvari nov primerek razreda "Flask" in mu se kot argument navede ime datoteke. Če uporabljate samo en.py "brez dodatne" __init__.Datoteka py ", ki se običajno uporablja pri ustvarjanju strukture datoteke za paket Python, ime bo imelo trdo kodirano vrednost" __main__ ". Argument "__name__" pove Flasku, kje naj išče datoteke, povezane s trenutno aplikacijo bučke, ki se izvaja. Namesto da navedete argument »__name__«, lahko v svojo glavno datoteko bučke vnesete tudi lastno pot po meri. Toda običajno večina razvijalcev uporablja samo __name__ in to se zdi običajna praksa.

Nato aplikacija za dekoracijo.pot «je pritrjen na funkcijo» hello_world_app «. Dekorativne funkcije razširjajo ali spreminjajo funkcijo, na katero so vezane, ne da bi jih dejansko spremenile. Tukaj je »app.route ”dekorater se uporablja za določitev poti URL, kjer se bo izvajala priložena funkcija. Simbol “/” Flasku pove, naj izvede funkcijo na URL-ju “/”, kar pomeni “root” domena ali “root” URL. Če je na primer URL za vašo aplikacijo »app.com «, bo funkcija sprožena za» app.com «URL. Lahko ga spremenite tudi v kaj drugega. Na primer z uporabo okrasnega elementa »@app.route ('/ helloworld') ", lahko funkcijo preslikate v" app.com / helloworld ”URL.

Nazadnje se funkcija “hello_world_app” uporablja za vrnitev vsebine, ki jo želite prikazati v spletnem brskalniku, ko se izvaja vaša spletna aplikacija.

Zagon aplikacije Flask

Če želite zagnati aplikacijo Flask v Linuxu, morate zagnati ukaz v naslednji obliki:

$ izvoz FLASK_APP = glavno.py
$ bučka teče

Spremeni “glavno.py "ime, kot je potrebno, da se ujema z vašim .Datoteka "py", v katero ste zapisali kodo bučke. Drugi ukaz zažene aplikacijo Flask. Zaženete lahko tudi ta nadomestni ukaz:

$ FLASK_APP = glavno.py bučka teče

Po zagonu teh ukazov bi morali videti nekaj takšnih izhodov:

Preprosto odprite URL, naveden v terminalu v spletnem brskalniku, da vidite, kako vaša aplikacija deluje.

Aplikacijo Flask lahko zaženete v načinu za odpravljanje napak z uporabo spremenljivke okolja »FLASK_ENV« v naslednji obliki:

$ FLASK_ENV = razvoj FLASK_APP = glavni.py bučka teče

Uporaba mehanizma za predloge Jinja2

Flask uporablja »Jinja2« za oblikovanje predlog, da olajša pisanje kode HTML v Pythonu. Z njim lahko nastavite oznako za »Hello World!!”Sporočilo.

Ustvarite nov imenik, imenovan »predloge«, kjer se nahaja vaš glavni skript Flask. V imeniku »template« ustvarite novo datoteko z imenom »hw_template.html ". Odprite "hw_template.html "in vanjo vstavite naslednjo kodo:


Pozdravljen, svet!!
% if color%

Pozdravljen, svet!!


% else%

Pozdravljen, svet!!


% endif%

Ta koda je napisana v sintaksi, ki jo »Jinja2« razume. Glejte dokumentacijo o Jinja2, ki je na voljo tukaj. Oznaka predloge preveri, ali ji je bila posredovana spremenljivka z imenom "color". Če je odgovor pritrdilen, spremeni barvo »Hello World!!"Z uporabo vrednosti iz spremenljivke" color ", ki mu je bila posredovana.

Če želite spremenljivko predati predlogi »Jinja2«, morate napisati kodo v naslednji obliki:

@app.pot ('/')
def hello_world_app ():
vrni render_template ('hw_template.html ', barva = "rdeča")

Metoda “render_template” se uporablja za upodabljanje oznak iz datoteke s predlogo “Jinja2”. Vnesete mu lahko ime predloge, ki jo želite upodobiti, in vse argumente, ki jih želite predati predlogi. Predloga »hw_template.html “, uporabljena zgoraj, obdeluje spremenljivko„ color “, potem ko ji je koda bučke posredovala spremenljivko„ color “z vrednostjo„ red “. Po zagonu zgoraj omenjenega vzorca kode bi morali dobiti naslednji rezultat:

Vrednosti spremenljivk lahko posredujete tudi iz samega URL-ja. Oglejte si spodnji vzorec kode:

@app.pot ('/')
@app.route ('/')
def hello_world_app (color = "blue"):
vrni render_template ('hw_template.html ', barva = barva)

Funkciji »hello_world_app« sta priloženi dve poti ali poti URL. Ko obiščete korensko domeno (primer »app.com «), boste videli» Hello World!!Sporočilo v modri barvi kot privzeta vrednost za spremenljivko "color" je opredeljeno kot "modro" in to je vrednost, ki jo posredujete tudi predlogi "Jinja2".

Druga pot, ki jo definira »@app.route ('/') ”Uporablja posebno skladnjo. Znotraj simbolov "<>" lahko definirate poljubne spremenljivke, ki jih želite poslati v funkcijo "hello_world_app". Privzeta vrednost za to spremenljivko je opredeljena kot argument za funkcijo "hello_word_app". Nato svojo spremenljivko po meri posredujete kot argument metodi »render_template« in njeno vrednost nastavite na spremenljivko, ki ste jo določili med dekoriranjem funkcije z novo potjo po meri.

Na primer, “Hello World !!Sporočilo se bo ob obisku aplikacije spremenilo v rdečo barvo.com / red «URL, vendar bo ob obisku» app.com «URL. Tukaj je vzporedna primerjava:

Zaključek

Flask je zmogljiv okvir za razvoj spletnih aplikacij, ki se lahko uporablja za ustvarjanje tako preprostih kot naprednih aplikacij. Ta vadnica v glavnem razlaga ustvarjanje preprostega »Hello World!!”App. Lahko ga povežete z bazo podatkov in z razširitvami razširite njeno funkcionalnost. Za več informacij o upravljanju zbirk podatkov in razširitev glejte dokumentacijo Flask.

Kako spremeniti miškin kazalec in velikost, barvo in shemo kazalca v sistemu Windows 10
Kazalec miške in kazalec v operacijskem sistemu Windows 10 sta zelo pomembna vidika operacijskega sistema. To lahko rečemo tudi za druge operacijske s...
Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...
Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...