kolba

Sukurkite „Hello World“ programą naudodami „Flask Framework“

Sukurkite „Hello World“ programą naudodami „Flask Framework“
Šis straipsnis apims paprastos „labas pasaulis“ programos, naudojant „Python“ pagrindo „Flask“ sistemą, rašymo vadovą. Kolba gali būti naudojama norint sukurti minimalias, išplėstines ir pažangias žiniatinklio programas naudojant bibliotekų rinkinį, įtrauktą į jo modulį. Visi šios mokymo programos kodų pavyzdžiai yra išbandyti „Ubuntu 20“.10 su „Python“ 3 versija.8.6 ir 1 kolbos versija.1.2.

Apie kolbą

„Flask“ yra „Python“ pagrindu sukurta žiniatinklio programų kūrimo sistema, specialiai sukurta taip, kad būtų kuo mažiau pradėti. Tai padeda greitai kurti prototipus, greitai kurti ir greitai įdiegti. Bet kokias išplėstines funkcijas, kurias turite pridėti prie savo žiniatinklio programos, galima pridėti naudojant plėtinius. Oficiali „Flask“ svetainė save apibūdina kaip „mikro“ sistemą, nes visi svarbiausi sprendimai paliekami patiems vartotojams ir jų vardu sprendžiami nedaug. Vartotojai gali pasirinkti savo šablonų variklius, duomenų bazių valdymo bibliotekas, formų patvirtinimo įrankius ir pan., Nors kolba turi keletą protingų numatytųjų.

Kolbos diegimas „Linux“

Jei naudojate „Ubuntu“, galite įdiegti kolbą vykdydami žemiau nurodytą komandą:

$ sudo apt įdiekite python3-kolbą

Galite išvengti saugyklos versijos ir įdiegti naujausią kolbos versiją iš „pip“ paketų tvarkyklės vykdydami šias dvi komandas iš eilės:

$ sudo apt įdiekite python3-pip
$ pip3 kolba

Jei naudojate bet kurį kitą „Linux“ paskirstymą, paketų tvarkyklėje ieškokite „Flask“ paketų arba įdiekite juos iš „pip“ paketų diegimo įrankio. Daugiau išsamių instrukcijų galite rasti čia.

Baigę diegimą, galite patikrinti kolbos versiją naudodami toliau nurodytą komandą:

$ python3 -c "importavimo kolba; spausdinti (kolba.__versija__) "

Kliento-serverio modelis

Kaip minėta anksčiau, kolba naudojama kuriant žiniatinklio programas. Paprastai visose žiniatinklio programų kūrimo sistemose „Python“ ir kitose programavimo kalbose naudojama kliento-serverio architektūra. Kolba taip pat naudoja kliento-serverio modelį, kuriame vartotojai gali rašyti serverio logiką kurdami žiniatinklio programas ar svetaines. Čia „klientas“ reiškia interneto naršyklę ar bet kurią kitą programą, leidžiančią pateikti tinklalapius naudojant HTML, „JavaScript“ ir CSS technologijas. Nors „serveris“ reiškia vietinį arba nuotolinį serverį, kuriame vykdoma jūsų „Python“ kalba parašyta „Flask“ programa.

Kai kompiuteryje paleidžiate „Flask“ programą vietoje, automatiškai sukuriamas vietinis serveris, skirtas aptarnauti žiniatinklio programą. Kolba jūsų terminale pateiks vietinio serverio URL. Galite peržiūrėti šį URL bet kurioje žiniatinklio naršyklėje ir peržiūrėti galutinį rezultatą. Taip pat galite nustatyti nuotolinį serverį, kad palengvintumėte ryšį tarp kliento ir serverio, ir paleiskite savo viešą svetainę ar žiniatinklio programą.

Galite sukurti kliento HTML, „JavaScript“ ir CSS kodą, reikalingą jūsų internetinei programai, naudodami serverio pusės kodą, parašytą kolba ir „Python“. Bet kai žiniatinklio programa bus įdiegta ir ją paleisite žiniatinklio naršyklėje, jūsų žiniatinklio programa nematys ir nesupras „Python“ kodo. Jis apdoros tik HTML, „JavaScript“ ir CSS, nes tik šias technologijas daugiausia palaiko žiniatinklio naršyklės. Jūs vis tiek galėsite bendrauti su serveriu iš kliento pusės naudodami HTTP užklausas. Galite labai daug perduoti duomenis iš kliento į serverį, juos apdoroti naudodamiesi serverio logika ir grąžinti rezultatą.

Taigi, atsižvelgiant į jūsų kuriamos žiniatinklio programos tipą, gali tekti nuspręsti, kur įdiegti logiką: serverio ar kliento atveju kiekvienu atveju atskirai.

Paprasta „Hello World“ programa kolboje

Norėdami pradėti, naudokite toliau pateiktą kodo pavyzdį, kad sukurtumėte supaprastintą „Hello World“ programą kolboje:

iš kolbos importo kolba
app = kolba (__ vardas__)
@app.maršrutas ('/')
def hello_world_app ():
message = "Sveikas pasauli!!"
grąžinimo pranešimas

Pirmasis minėto kodo pavyzdžio teiginys importuoja „Kolbos“ klasę iš „kolbos“ modulio. Kai importuosite, galėsite naudoti visus „Kolbos“ klasės metodus.

Kitame sakinyje sukuriamas naujas „Flask“ klasės egzempliorius ir failo pavadinimas pateikiamas kaip argumentas. Jei naudojate tik vieną.py “failas be papildomo„ __init__ “.py “failas, paprastai naudojamas kuriant„ Python “paketo failų struktūrą, pavadinimo reikšmė bus„ hard_coded “„ __main__ “. Argumentas „__name__“ nurodo kolbai, kur ieškoti failų, susijusių su šiuo metu vykdoma kolbos programa. Taip pat galite pateikti savo pasirinktą kelią į pagrindinį kolbos failą, užuot pateikę argumentą „__name__“. Tačiau paprastai dauguma kūrėjų naudoja tik „__name__“ ir atrodo, kad tai įprasta praktika.

Tada „dekoravimo“ programa.maršrutas “pridedamas prie funkcijos„ hello_world_app “. Dekoravimo funkcijos išplečia arba modifikuoja funkciją, prie kurios jie yra prijungti, iš tikrųjų jų nekeisdami. Čia „programa.maršrutas “dekoratorius naudojamas nurodyti URL kelią, kuriame veiks pridedama funkcija. Simbolis „/“ liepia kolbai vykdyti funkciją „/“ URL, kuris reiškia „šaknies“ domeną arba „šaknies“ URL. Pavyzdžiui, jei jūsų programos URL yra „programa.com “, funkcija bus suaktyvinta„ app.com “URL. Taip pat galite jį pakeisti kitu. Pavyzdžiui, naudojant dekoratorių „@app.route ('/ helloworld') “, funkciją galite susieti su„ app.com / helloworld “URL.

Galiausiai funkcija „hello_world_app“ naudojama norint grąžinti turinį, kurį norite rodyti žiniatinklio naršyklėje, kai veikia jūsų žiniatinklio programa.

Kolbos programos paleidimas

Norėdami paleisti kolbos programą „Linux“, turite paleisti komandą tokiu formatu:

$ eksportuoti FLASK_APP = pagrindinis.py
$ kolba paleista

Keisti „main.py “pavadinimą, jei reikia, kad jis atitiktų jūsų .„Py“ failą, kuriame parašėte savo kolbos kodą. Antroji komanda paleidžia jūsų kolbos programą. Taip pat galite paleisti šią alternatyvią komandą:

$ FLASK_APP = pagrindinis.py kolba paleista

Paleidus šias komandas, turėtumėte pamatyti tokį išėjimą:

Tiesiog atidarykite terminale nurodytą URL žiniatinklio naršyklėje, kad pamatytumėte, kaip jūsų programa veikia.

„Flask“ programą galite paleisti derinimo režimu naudodami aplinkos formatą „FLASK_ENV“ tokiu formatu:

$ FLASK_ENV = plėtra FLASK_APP = pagrindinis.paleisti kolbą

Naudojant „Jinja2“ šablonų variklį

Kolba naudoja „Jinja2“ šablonui kurti, kad būtų lengviau rašyti HTML kodą „Python“. Juo galite nustatyti žymėjimą „Sveikas pasaulis!!“Pranešimą.

Sukurkite naują katalogą, vadinamą „šablonais“, kuriame yra jūsų pagrindinis „Flask“ scenarijus. „Šablono“ kataloge sukurkite naują failą pavadinimu „hw_template“.html “. Atidarykite „hw_template.html “failą ir įdėkite šį kodą:


Labas pasauli!!
% jei spalva%

Labas pasauli!!


% Kitas %

Labas pasauli!!


% endif%

Šis kodas parašytas sintakse, kurią supranta „Jinja2“. Čia galite rasti „Jinja2“ dokumentaciją. Šablono žymėjimas tikrina, ar jam buvo perduotas kintamasis, pavadintas „spalva“. Jei taip, tada pakeičiama „Sveiko pasaulio!!“, Naudojant jam perduoto kintamojo„ color “vertę.

Norėdami perduoti kintamąjį „Jinja2“ šablonui, turite parašyti kodą tokiu formatu:

@app.maršrutas ('/')
def labas_pasaulis_appas ():
grąžinti render_template ('hw_template.html ', color = "raudona")

Metodas „render_template“ naudojamas žymėti iš „Jinja2“ šablono failo. Galite pateikti šablono, kurį norite pateikti, pavadinimą ir visus argumentus, kuriuos norite perduoti šablonui. „Hw_template.Aukščiau naudojamas šablonas html apdoroja „spalvos“ kintamąjį, kol kolbos kodas perduoda „spalvos“ kintamąjį, kurio vertė yra „raudona“. Paleidus pirmiau minėtą kodo pavyzdį, turėtumėte gauti tokį rezultatą:

Taip pat galite perduoti kintamas vertes iš paties URL. Pažvelkite į toliau pateiktą kodo pavyzdį:

@app.maršrutas ('/')
@app.maršrutas ('/„)
def labas_pasaulio_appas (spalva = "mėlyna"):
grąžinti render_template ('hw_template.html ', spalva = spalva)

Prie funkcijos „hello_world_app“ pridedami du URL keliai arba maršrutai. Kai lankotės šakniniame domene (pavyzdys „programa.com “), pamatysite„ Hello World!!Pranešimas mėlyna spalva kaip numatytoji „spalvos“ kintamojo reikšmė apibrėžiama kaip „mėlyna“ ir tai yra vertė, kurią perduodate ir „Jinja2“ šablonui.

Antrasis kelias, apibrėžtas „@app.maršrutas ('/') “Naudojama speciali sintaksė. Simboliuose „<>“ galite apibrėžti visus kintamuosius, kuriuos norite perduoti funkcijai „hello_world_app“. Numatytoji šio kintamojo reikšmė apibrėžiama kaip funkcijos „hello_word_app“ argumentas. Tada jūs perduodate savo pasirinktinį kintamąjį kaip argumentą metodui „render_template“ ir nustatote jo reikšmę pagal jūsų apibrėžtą kintamąjį, dekoruodami funkciją nauju pasirinktu maršrutu.

Pavyzdžiui, „Sveikas pasaulis !!Pranešimas pasikeis į raudoną spalvą, kai lankysitės programoje.com / red “URL, bet jis liks mėlynas, kai lankysitės„ app.com “URL. Štai vienas kito palyginimas:

Išvada

Kolba yra galinga interneto programų kūrimo sistema, kurią galima naudoti kuriant tiek paprastas, tiek pažangesnes programas. Šioje pamokoje daugiausia paaiškinama, kaip sukurti paprastą „Hello World!!“Programa. Galite prijungti jį prie duomenų bazės ir naudoti plėtinius, kad dar labiau išplėstumėte jos funkcionalumą. Norėdami sužinoti daugiau apie duomenų bazių ir plėtinių valdymą, žr. „Kolbos“ dokumentaciją.

5 geriausi „Arcade“ žaidimai, skirti „Linux“
Šiais laikais kompiuteriai yra rimta mašina, naudojama žaidimams. Jei negalėsite gauti naujo aukšto rezultato, žinosite, ką noriu pasakyti. Šiame įraš...
Mūšis už Wesnothą 1.13.6 Išleista plėtra
Mūšis už Wesnothą 1.13.6 išleistas praėjusį mėnesį, yra šeštasis 1 versijos kūrimo leidimas.13.„x“ serija ir ji teikia daug patobulinimų, ypač vartoto...
Kaip įdiegti „League of Legends“ „Ubuntu 14“.04
Jei esate „League of Legends“ gerbėjas, tai jums yra galimybė išbandyti „League of Legends“. Atminkite, kad LOL palaikoma „PlayOnLinux“, jei esate „Li...