pullo

Luo Hello World -sovellus Flask Framework -sovelluksella

Luo Hello World -sovellus Flask Framework -sovelluksella
Tämä artikkeli kattaa oppaan yksinkertaisen hello world -sovelluksen kirjoittamisesta Python-pohjaisen “Flask” -kehyksen avulla. Pulloa voidaan käyttää luomaan vähäisiä, laajennettavissa ja edistyneitä verkkosovelluksia käyttämällä moduuliin sisältyvää kirjastoja. Kaikki tämän opetusohjelman koodinäytteet testataan Ubuntu 20: lla.10, jolla on Python-versio 3.8.6 ja pullo versio 1.1.2.

Tietoja pullosta

Flask on Python-pohjainen verkkosovelluskehys, joka on erityisesti suunniteltu olemaan vähäinen alkuun pääsemiseksi. Tämä auttaa nopeaa prototyyppien tekemistä, nopeaa kehitystä ja nopeaa käyttöönottoa. Kaikki lisäominaisuudet, jotka sinun on lisättävä verkkosovellukseen, voidaan lisätä laajennusten kautta. Pullon virallinen sivusto kuvaa itseään "mikrokehykseksi", koska se jättää kaikki tärkeimmät päätökset käyttäjien itselleen ja tekee vähän heidän puolestaan. Käyttäjät voivat valita omat mallimoottorinsa, tietokannan hallinnan kirjastot, lomakkeiden validointityökalut ja niin edelleen, vaikka pullossa on joitain järkeviä oletusasetuksia.

Pullon asentaminen Linuxiin

Jos käytät Ubuntua, voit asentaa pullon suorittamalla alla mainitun komennon:

$ sudo apt asenna python3-pullo

Voit välttää arkistoversiota ja asentaa pullon uusimman version pip-paketinhallinnasta suorittamalla seuraavat kaksi komentoa peräkkäin:

$ sudo apt asenna python3-pip
Asenna pullo $ pip3

Jos käytät muuta Linux-jakelua, etsi ”Flask” -paketit paketinhallinnasta tai asenna se “pip” -paketinasennustyökalusta. Tarkemmat ohjeet ovat täällä.

Kun asennus on valmis, voit tarkistaa pullon version alla määritetyllä komennolla:

$ python3 -c "tuontipullo; tulosta (pullo.__versio__)"

Asiakas-palvelin-malli

Kuten aiemmin todettiin, pulloa käytetään verkkosovellusten kehittämiseen. Yleensä kaikki Pythonin ja muiden ohjelmointikielien verkkosovelluskehykset käyttävät asiakas-palvelin-arkkitehtuuria. Pullo käyttää myös asiakas-palvelin-mallia, jossa käyttäjät voivat kirjoittaa palvelinpuolen logiikkaa luodakseen verkkosovelluksia tai verkkosivustoja. "Asiakas" viittaa tässä verkkoselaimeen tai mihin tahansa muuhun sovellukseen, joka sallii verkkosivujen hahmontamisen HTML-, JavaScript- ja CSS-tekniikoilla. Vaikka "palvelin" viittaa paikalliseen tai etäpalvelimeen, jossa Python-kielellä kirjoitettu Flask-sovelluksesi suoritetaan.

Kun suoritat Pullo-sovelluksen paikallisesti tietokoneellasi, paikallispalvelin luodaan automaattisesti palvelemaan verkkosovellusta. Pullo tuottaa terminaalissasi paikallisen isännän URL-osoitteen. Voit käydä tässä URL-osoitteessa millä tahansa verkkoselaimella nähdäksesi lopputuloksen. Voit myös asettaa etäpalvelimen helpottamaan asiakkaan ja palvelimen välistä viestintää ja käynnistää oman julkisen verkkosivustosi tai verkkosovelluksesi.

Voit luoda verkkosovelluksellesi tarvittavan asiakaspuolen HTML-, JavaScript- ja CSS-koodin käyttämällä palvelinpuolen koodia, joka on kirjoitettu pulloon ja Pythoniin. Mutta kun verkkosovellus on otettu käyttöön ja suoritat sen verkkoselaimessa, verkkosovelluksesi ei näe tai ymmärrä Python-koodia. Se käsittelee vain HTML-, JavaScript- ja CSS-tiedostoja, koska verkkoselaimet tukevat pääasiassa vain näitä tekniikoita. Pystyt silti kommunikoimaan palvelimen kanssa asiakaspuolelta HTTP-pyyntöjen avulla. Voit siirtää dataa asiakkaalta palvelimelle, käsitellä sitä jonkin palvelinpuolen logiikan avulla ja palauttaa tuloksen.

Joten kehittämästäsi verkkosovelluksesta riippuen saatat joutua päättämään, missä logiikka toteutetaan: palvelin- tai asiakaspuolella tapauskohtaisesti.

Yksinkertainen Hello World -sovellus pullossa

Voit käyttää alla olevaa koodinäytettä luomaan yksinkertaisen "Hello World" -sovelluksen pulloon aloittaaksesi:

pullosta tuontipullo
app = pullo (__ nimi__)
@sovellus.reitti('/')
def hello_world_app ():
message = "Hei maailma!!"
palautusviesti

Edellä olevan koodinäytteen ensimmäinen käsky tuo ”Pullo” -luokan ”pullon” moduulista. Tuonnin jälkeen voit käyttää kaikkia “Pullo” -luokan käytettävissä olevia menetelmiä.

Seuraavassa lauseessa luodaan uusi “Flask” -luokan esiintymä ja tiedoston nimi toimitetaan sille argumenttina. Jos käytät vain yhtä.py-tiedosto ilman ylimääräistä “__init__”.py ”-tiedosto, jota käytetään tyypillisesti luodessaan tiedostorakennetta Python-paketille, nimen kovakoodattu arvo on” __main__ ”. "__Name__"-argumentti kertoo Pullolle, mistä etsiä tiedostoja, jotka liittyvät nykyiseen suoritettavaan pullosovellukseen. Voit myös toimittaa oman mukautetun polun päälasitiedostoon __nimi__-argumentin sijaan. Mutta tyypillisesti useimmat kehittäjät käyttävät vain nimeä __name__ ja tämä näyttää olevan tavanomainen käytäntö.

Seuraavaksi “koristelu” -sovellus.reitti ”on liitetty toimintoon” hello_world_app ”. Sisustusfunktiot laajentavat tai muokkaavat toimintoa, johon ne on liitetty, muuttamatta niitä itse. Tässä, ”sovellus.reitti ”sisustajaa käytetään määrittämään URL-polku, johon liitetty toiminto suoritetaan. Symboli “/” käskee pulloa suorittamaan toiminnon ”/” URL-osoitteessa, joka tarkoittaa ”root” -verkkotunnusta tai “root” URL-osoitetta. Esimerkiksi, jos sovelluksesi URL-osoite on ”sovellus.com ”, toiminto käynnistyy sovellukselle.fi ”URL. Voit vaihtaa sen myös muuksi. Esimerkiksi käyttämällä sisustajaa "@app.reitti ('/ helloworld') ', voit kartoittaa toiminnon "app.com / helloworld ”URL.

Lopuksi toimintoa "hello_world_app" käytetään palauttamaan sisältö, jonka haluat näyttää verkkoselaimessa, kun verkkosovelluksesi on käynnissä.

Suorita pullo-sovellus

Jos haluat suorittaa Flask-sovelluksen Linuxissa, sinun on suoritettava komento seuraavassa muodossa:

$ export FLASK_APP = main.py
$ pullo suoritetaan

Vaihda “main”.py ”nimi tarpeen mukaan vastaamaan sitä omaan .”Py” -tiedosto, johon olet kirjoittanut pullokoodisi. Toinen komento suorittaa Pullo-sovelluksesi. Voit suorittaa myös tämän vaihtoehtoisen komennon:

$ FLASK_APP = tärkein.pyöritetään

Kun olet suorittanut nämä komennot, sinun pitäisi nähdä tällainen lähtö:

Avaa vain terminaalissa mainittu URL-osoite verkkoselaimessa, jotta näet sovelluksesi toiminnassa.

Voit suorittaa Flask-sovelluksen virheenkorjaustilassa käyttämällä ”FLASK_ENV” -ymuuttujaa seuraavassa muodossa:

$ FLASK_ENV = kehitys FLASK_APP = tärkein.pyöritetään

Jinja2-mallimoottorin käyttö

Pullo käyttää “Jinja2” mallipohjaa moottorin helpottamiseksi HTML-koodin kirjoittamista Pythonissa. Voit käyttää sitä asettamaan merkinnän “Hello World!!”-Viesti.

Luo uusi hakemisto nimeltä "templates", jossa päälaskentakomentosi sijaitsee. Luo "template" -hakemiston sisällä uusi tiedosto nimeltä "hw_template".html ”. Avaa “hw_template.html ”-tiedosto ja laita siihen seuraava koodi:


Hei maailma!!
% jos väri%

Hei maailma!!


% muu%

Hei maailma!!


% loppu Jos %

Tämä koodi on kirjoitettu syntaksissa, jonka ”Jinja2” ymmärtää. Voit tutustua täältä saataviin ”Jinja2” -dokumentaatioihin. Mallin merkintä tarkistaa, onko muuttuja nimeltä "väri" siirretty sille vai ei. Jos kyllä, niin se muuttaa “Hello World!!”-Viesti käyttäen sille välitetyn“ color ”-muuttujan arvoa.

Jos haluat siirtää muuttujan Jinja2-malliin, sinun on kirjoitettava koodi seuraavassa muodossa:

@sovellus.reitti('/')
def hello_world_app ():
return render_template ('hw_template.html ', color = "punainen")

"Render_template" -menetelmää käytetään merkintöjen renderöintiin "Jinja2" -mallitiedostosta. Voit antaa sille renderöidyn mallin nimen ja kaikki argumentit, jotka haluat välittää mallille. "Hw_template.Edellä käytetty html-malli käsittelee "väri" -muuttujan sen jälkeen, kun pullokoodi on välittänyt sille "väri" -muuttujan, jonka arvo on "punainen". Kun olet suorittanut yllä mainitun koodinäytteen, sinun pitäisi saada seuraava tulos:

Voit myös välittää muuttujien arvot itse URL-osoitteesta. Katso alla oleva koodinäyte:

@sovellus.reitti('/')
@sovellus.reitti('/')
def hello_world_app (väri = "sininen"):
return render_template ('hw_template.html ', väri = väri)

"Hello_world_app" -toimintoon on liitetty kaksi URL-polkua tai reittiä. Kun käyt juurialueella (esimerkki “sovellus.com ”), näet“ Hello World!!”Sininen-viesti” väri ”-muuttujan oletusarvona määritetään” siniseksi ”ja tämä on arvo, jonka välität myös” Jinja2 ”-mallille.

Toinen polku, jonka määrittelee “@app.reitti('/') ”Käyttää erityistä syntaksia. ”<>” -Symbolien sisällä voit määrittää kaikki muuttujat, jotka välitetään ”hei_maailman_sovellus” -toiminnolle. Tämän muuttujan oletusarvo on määritelty funktion “hello_word_app” argumenttina. Sen jälkeen välität oman mukautetun muuttujan argumenttina render_template-menetelmälle ja asetat sen arvon määritettyyn muuttujaan samalla kun koristelet funktion uudella mukautetulla reitillä.

Esimerkiksi: “Hei maailma !!-Viesti muuttuu punaiseksi, kun vierailet sovelluksessa.com / red ”URL, mutta se pysyy sinisenä, kun käyt sovelluksessa.fi ”URL. Tässä on vierekkäinen vertailu:

Johtopäätös

Pullo on tehokas verkkosovelluskehys, jota voidaan käyttää sekä yksinkertaisten että edistyneiden sovellusten luomiseen. Tässä opetusohjelmassa selitetään pääasiassa yksinkertaisen “Hello World!!" sovellus. Voit liittää sen tietokantaan ja laajennusten avulla laajentaa sen toimintoja edelleen. Katso pullo-ohjeista lisätietoja tietokantojen ja laajennusten hallinnasta.

Parhaat komentorivipelit Linuxille
Komentorivi ei ole vain suurin liittolainen Linuxia käytettäessä - se voi olla myös viihteen lähde, koska voit käyttää sitä pelaamaan monia hauskoja p...
Parhaat Linux-peliohjaimen kartoitussovellukset
Jos haluat pelata pelejä Linuxissa peliohjaimella tyypillisen näppäimistön ja hiiren syöttöjärjestelmän sijaan, on sinulle hyödyllisiä sovelluksia. Mo...
Hyödyllisiä työkaluja Linux-pelaajille
Jos haluat pelata pelejä Linuxissa, on todennäköistä, että olet käyttänyt sovelluksia ja apuohjelmia, kuten Wine, Lutris ja OBS Studio, pelikokemuksen...