kolba

Izmantojot Flask Framework, izveidojiet lietotni Hello World

Izmantojot Flask Framework, izveidojiet lietotni Hello World
Šis raksts aptvers rokasgrāmatu par vienkāršas labas pasaules lietojumprogrammas rakstīšanu, izmantojot Python bāzes “Flask” ietvaru. Kolbu var izmantot, lai izveidotu minimālas, paplašināmas un uzlabotas tīmekļa lietojumprogrammas, izmantojot bibliotēkā, kas iekļauta tās modulī. Visi šīs apmācības kodu paraugi tiek pārbaudīti operētājsistēmā Ubuntu 20.10 ar Python versiju 3.8.6 un kolbas versija 1.1.2.

Par kolbu

Kolba ir uz Python balstīta tīmekļa lietojumprogrammu izstrādes sistēma, kas ir īpaši izstrādāta, lai tā būtu minimāla, lai sāktu darbu. Tas palīdz ātri izveidot prototipus, ātri izstrādāt un ātri izvietot. Visas paplašinātās funkcijas, kas jāpievieno tīmekļa lietojumprogrammai, var pievienot, izmantojot paplašinājumus. Kolbas oficiālā vietne sevi raksturo kā “mikro” sistēmu, jo tā visus galvenos lēmumus atstāj pašu lietotāju ziņā un viņu vārdā maz lemj. Lietotāji var izvēlēties paši savus veidņu dzinējus, datu bāzes pārvaldības bibliotēkas, veidlapu apstiprināšanas rīkus un tā tālāk, lai gan kolbai ir daži saprātīgi noklusējumi.

Kolbas instalēšana Linux

Ja izmantojat Ubuntu, varat instalēt kolbu, izpildot zemāk minēto komandu:

$ sudo apt instalējiet python3-kolbu

Varat izvairīties no repozitorija versijas izmantošanas un instalēt jaunāko kolbas versiju no “pip” pakotņu pārvaldnieka, pēc kārtas izpildot divas komandas:

$ sudo apt instalējiet python3-pip
$ pip3 uzstādīšanas kolba

Ja izmantojat kādu citu Linux izplatīšanu, pakotņu pārvaldniekā meklējiet paketes “Flask” vai instalējiet to no paketes instalēšanas rīka “pip”. Papildu detalizētas instrukcijas ir pieejamas šeit.

Kad instalēšana ir pabeigta, varat pārbaudīt kolbas versiju, izmantojot tālāk norādīto komandu:

$ python3 -c "importa kolba; print (kolba.__versija__) "

Klienta-servera modelis

Kā minēts iepriekš, kolbu izmanto tīmekļa lietojumprogrammu izstrādei. Parasti visās tīmekļa lietojumprogrammu izstrādes sistēmās Python un citās programmēšanas valodās tiek izmantota klienta-servera arhitektūra. Kolba izmanto arī klienta-servera modeli, kurā lietotāji var rakstīt servera puses loģiku, lai izveidotu tīmekļa lietojumprogrammas vai vietnes. Šeit klients attiecas uz tīmekļa pārlūkprogrammu vai jebkuru citu lietotni, kas ļauj tīmekļa lapas renderēt, izmantojot HTML, JavaScript un CSS tehnoloģijas. Kamēr “serveris” attiecas uz vietējo vai attālo serveri, kurā tiek izpildīta jūsu Flask lietotne, kas rakstīta Python valodā.

Palaižot Flask lietotni lokāli datorā, tiek automātiski izveidots vietējais serveris, kas apkalpo tīmekļa lietojumprogrammu. Kolba jūsu terminālā izvadīs vietējā hosti URL. Jūs varat apmeklēt šo URL jebkurā tīmekļa pārlūkprogrammā, lai skatītu gala rezultātu. Varat arī iestatīt attālo serveri, lai atvieglotu saziņu starp klientu un serveri, un palaist savu publisko vietni vai tīmekļa lietojumprogrammu.

Varat izveidot klienta puses HTML, JavaScript un CSS kodu, kas nepieciešams jūsu tīmekļa lietojumprogrammai, izmantojot servera puses kodu, kas rakstīts kolbā un Python. Bet, tiklīdz tīmekļa lietojumprogramma ir izvietota un palaižat to tīmekļa pārlūkprogrammā, jūsu tīmekļa lietojumprogramma neredzēs un nesapratīs Python kodu. Tas apstrādās tikai HTML, JavaScript un CSS, jo tikai šīs tehnoloģijas galvenokārt atbalsta tīmekļa pārlūkprogrammas. Jūs joprojām varēsit sazināties ar serveri no klienta puses, izmantojot HTTP pieprasījumus. Jūs varat ļoti daudz pārsūtīt datus no klienta uz serveri, apstrādāt tos, izmantojot kādu servera puses loģiku, un atgriezt rezultātu.

Tāpēc atkarībā no izstrādājamās tīmekļa lietojumprogrammas veida jums, iespējams, būs jāizlemj, kur ieviest loģiku: servera vai klienta pusē katrā gadījumā atsevišķi.

Vienkārša Hello World lietojumprogramma kolbā

Lai sāktu, kolbā varat izveidot vienkāršotu lietojumprogrammu “Hello World”, izmantojot tālāk redzamo koda paraugu:

no kolbas importa kolba
app = kolba (__ vārds__)
@app.maršruts ('/')
def hello_world_app ():
message = "Sveika pasaule!!"
atbildes ziņojums

Pirmais iepriekš minētā koda parauga paziņojums importē klasi “Flask” no “kolbas” moduļa. Pēc importēšanas varēsiet izmantot visas klases “Flask” pieejamās metodes.

Nākamajā paziņojumā tiek izveidots jauns klases “Flask” gadījums un faila nosaukums tam tiek piegādāts kā arguments. Ja jūs vienkārši izmantojat vienu.py ”fails bez papildu“ __init__.py ”fails, ko parasti izmanto, veidojot Python paketes faila struktūru, nosaukumam būs grūti kodēta vērtība“ __main__ ”. Arguments “__name__” norāda kolbai, kur meklēt failus, kas saistīti ar pašreizējo kolbas lietojumprogrammu, kas tiek izpildīta. Varat arī piegādāt savu pielāgoto ceļu uz galveno kolbas failu, nevis norādīt argumentu “__name__”. Bet parasti lielākā daļa izstrādātāju izmanto tikai “__name__”, un šķiet, ka tā ir standarta prakse.

Pēc tam lietotne “dekorēšana”.maršruts ”ir pievienots funkcijai„ hello_world_app ”. Dekorēšanas funkcijas paplašina vai pārveido funkciju, kurai tie ir pievienoti, tos faktiski nemainot. Lūk, “lietotne.maršruts ”dekorētājs tiek izmantots, lai norādītu URL ceļu, kur darbosies pievienotā funkcija. Simbols “/” liek kolbai izpildīt funkciju “/” URL, kas apzīmē “root” domēnu vai “root” URL. Piemēram, ja jūsu lietotnes URL ir “lietotne.com ”, funkcija tiks aktivizēta lietotnei.com ”URL. Varat arī mainīt to uz kaut ko citu. Piemēram, izmantojot dekoratoru “@app.route ('/ helloworld') ”, funkciju varat kartēt ar“ app.com / helloworld ”URL.

Visbeidzot, funkcija “hello_world_app” tiek izmantota, lai atgrieztu saturu, kuru vēlaties parādīt tīmekļa pārlūkprogrammā, kad darbojas jūsu tīmekļa lietotne.

Kolbas lietotnes palaišana

Lai palaistu kolbas lietotni Linux, jums jāpalaiž komanda šādā formātā:

$ eksportēt FLASK_APP = galvenais.py
$ kolbas palaišana

Mainīt “main.py ”nosaukums pēc nepieciešamības, lai to saskaņotu ar savējo .“Py” fails, kurā esat ierakstījis savu kolbas kodu. Otrā komanda palaiž jūsu kolbas lietotni. Varat arī palaist šo alternatīvo komandu:

$ FLASK_APP = galvenais.py kolbas palaist

Pēc šo komandu palaišanas jums vajadzētu redzēt šādu izvadi:

Vienkārši atveriet terminālā minēto URL tīmekļa pārlūkprogrammā, lai redzētu, kā jūsu lietojumprogramma darbojas.

Lietotni Flask var palaist atkļūdošanas režīmā, izmantojot “FLASK_ENV” vides mainīgo šādā formātā:

$ FLASK_ENV = izstrāde FLASK_APP = galvenā.py kolbas palaist

Izmantojot Jinja2 Template Engine

Kolba izmanto “Jinja2”, lai veidotu dzinēju, lai atvieglotu HTML koda rakstīšanu Python. To var izmantot, lai iestatītu marķējumu “Hello World!!”Ziņojumu.

Izveidojiet jaunu direktoriju ar nosaukumu “veidnes”, kur atrodas jūsu galvenais kolbas skripts. Direktorijas “template” iekšpusē izveidojiet jaunu failu ar nosaukumu “hw_template.html ”. Atveriet “hw_template.html ”un ievietojiet tajā šādu kodu:


Sveika pasaule!!
%, ja krāsa%

Sveika pasaule!!


% cits%

Sveika pasaule!!


% endif%

Šis kods ir rakstīts sintaksē, kuru saprot “Jinja2”. Jūs varat atsaukties uz šeit pieejamo dokumentāciju “Jinja2”. Veidnes marķējums pārbauda, ​​vai mainīgais ar nosaukumu “color” ir nodots tam vai nav. Ja jā, tad tas maina krāsu “Hello World!!”, Izmantojot vērtību no tam nodotā ​​mainīgā“ color ”.

Lai mainīgo pārsūtītu uz veidni “Jinja2”, jums jāraksta kods šādā formātā:

@app.maršruts ('/')
def hello_world_app ():
atgriezt render_template ('hw_template.html ', color = "sarkans")

Metode “render_template” tiek izmantota, lai renderētu marķējumu no veidnes faila “Jinja2”. Jūs varat norādīt tai veidnes nosaukumu, kuru vēlaties renderēt, un visus argumentus, kurus vēlaties nodot veidnei. “Hw_template.Iepriekš izmantotā html veidne apstrādā mainīgo “color” pēc tam, kad kolbas kods tam ir nodevis “color” mainīgo ar vērtību “red”. Pēc iepriekš minētā koda parauga palaišanas jums vajadzētu iegūt šādu rezultātu:

Varat arī pārsūtīt mainīgās vērtības no paša URL. Apskatiet zemāk redzamo koda paraugu:

@app.maršruts ('/')
@app.maršruts ('/')
def hello_world_app (color = "zils"):
atgriezt render_template ('hw_template.html ', color = color)

Funkcijai “hello_world_app” ir pievienoti divi URL ceļi vai maršruti. Apmeklējot saknes domēnu (piemērs “app.com ”), jūs redzēsiet“ Hello World!!”Zilā krāsa kā mainīgā“ color ”noklusējuma vērtība tiek definēta kā“ zila ”, un šo vērtību jūs nododat arī veidnei“ Jinja2 ”.

Otrais ceļš, ko nosaka “@app.maršruts ('/') ”Izmanto īpašu sintaksi. Simbolos “<>” jūs varat definēt visus mainīgos, kas jānodod funkcijai “hello_world_app”. Šī mainīgā noklusējuma vērtība tiek definēta kā arguments funkcijai “hello_word_app”. Pēc tam jūs nododat savu pielāgoto mainīgo kā argumentu metodei “render_template” un iestatāt tā vērtību mainīgajam, kuru definējāt, vienlaikus dekorējot funkciju ar jaunu pielāgotu maršrutu.

Piemēram, “Sveika pasaule !!Ziņojums mainīsies uz sarkanu krāsu, kad apmeklējat lietotni.com / red ”URL, taču tas paliks zils, kad apmeklēsit lietotni.com ”URL. Šeit ir blakus salīdzinājums:

Secinājums

Kolba ir spēcīgs tīmekļa lietojumprogrammu izstrādes ietvars, ko var izmantot, lai izveidotu gan vienkāršas, gan uzlabotas lietojumprogrammas. Šī apmācība galvenokārt izskaidro vienkāršas “Hello World!!”Lietotne. Jūs varat to savienot ar datu bāzi un izmantot paplašinājumus, lai vēl vairāk paplašinātu tās funkcionalitāti. Lai uzzinātu vairāk par datu bāzu un paplašinājumu pārvaldību, skatiet kolbas dokumentāciju.

Izmantojot X-Mouse Button Control, atšķirīgi mainiet peles pogas atšķirīgai programmatūrai
Varbūt jums ir nepieciešams rīks, kas varētu mainīt peles vadību ar katru lietoto lietojumprogrammu. Ja tas tā ir, varat izmēģināt lietojumprogrammu a...
Microsoft Sculpt Touch bezvadu peles apskats
Es nesen lasīju par Microsoft Sculpt Touch bezvadu pele un nolēma to nopirkt. Pēc kāda laika izmantošanas es nolēmu dalīties savā pieredzē ar to. Šo b...
AppyMouse ekrāna skārienpaliktnis un peles rādītājs Windows planšetdatoriem
Planšetdatoru lietotājiem bieži pietrūkst peles rādītāja, it īpaši, ja viņi parasti lieto klēpjdatorus. Skārienekrāna viedtālruņiem un planšetdatoriem...