Lag en Hello World -app ved hjelp av Flask Framework

Lag en Hello World -app ved hjelp av Flask Framework
Denne artikkelen vil dekke en guide for å skrive en enkel Hello World -applikasjon ved hjelp av Python -basert "kolbe" -rammeverk. Kolbe kan brukes til å lage minimale, utvidbare og avanserte webapplikasjoner ved hjelp av et sett med biblioteker inkludert i modulen. Alle kodeprøver i denne opplæringen er testet på Ubuntu 20.10 Å ha Python versjon 3.8.6 og kolbeversjon 1.1.2.

Om kolbe

Flask er et Python -basert rammeverk for webapplikasjoner som er spesialdesignet for å være minimal for å komme i gang. Dette hjelper med rask prototyping, rask utvikling og rask distribusjon. Eventuelle avanserte funksjoner du må legge til i webapplikasjonen din kan legges til gjennom utvidelser. Det offisielle stedet for kolbe beskriver seg selv som en "mikro" ramme siden det overlater alle store beslutninger til brukerne selv og bestemmer lite på vegne av dem. Brukere kan velge sine egne malmotorer, databaseadministrasjonsbiblioteker, skjema valideringsverktøy og så videre, selv om Flask kommer med noen sane mislighold.

Installere kolben i Linux

Hvis du bruker Ubuntu, kan du installere kolben ved å utføre kommandoen nevnt nedenfor:

$ sudo apt install python3-kolbe

Du kan unngå å bruke depotversjon og installere den siste versjonen av Flask fra “Pip” Package Manager ved å kjøre etter to kommandoer etter hverandre:

$ sudo apt install python3-pip
$ pip3 installer kolbe

Hvis du bruker noen annen Linux -distribusjon, kan du søke etter "Kolbe" -pakker i Package Manager eller installere den fra "Pip" -pakkeinstallasjonsverktøyet. Ytterligere detaljerte instruksjoner er tilgjengelige her.

Når installasjonen er ferdig, kan du sjekke kolbeversjonen ved å bruke kommandoen som er spesifisert nedenfor:

$ python3 -c "Importkolbe; trykk (kolbe.__versjon__)"

Klient-servermodellen

Som nevnt tidligere, brukes kolbe til å utvikle webapplikasjoner. Vanligvis bruker alle utviklingsrammer for webapplikasjoner i Python og andre programmeringsspråk klient-serverarkitektur. Kolbe bruker også en klient-servermodell der brukere kan skrive serversiden logikk for å lage webapplikasjoner eller nettsteder. "Klienten" her refererer til en nettleser eller en hvilken som helst annen app som tillater gjengivelse av websider ved bruk av HTML, JavaScript og CSS -teknologier. Mens "serveren" refererer til en lokal eller ekstern server der kolbeappen din er skrevet på Python -språk, blir utført.

Når du kjører en Flask -app lokalt på PC -en, opprettes en lokal server automatisk for å betjene webapplikasjonen. Kolbe vil sende ut en localhost -URL i terminalen din. Du kan besøke denne URL -en i hvilken som helst nettleser for å se sluttresultatet. Du kan også sette opp en ekstern server for å lette kommunikasjonen mellom en klient og server og starte ditt eget offentlige nettsted eller webapplikasjon.

Du kan opprette HTML, JavaScript og CSS-kode på klientsiden som er nødvendig for webapplikasjonen din ved å bruke serversiden kode skrevet i Flask og Python. Men når webapplikasjonen er distribuert og du kjører den i en nettleser, vil ikke webapplikasjonen din se eller forstå Python -kode. Det vil behandle HTML, JavaScript og CSS bare da bare disse teknologiene hovedsakelig støttes av nettlesere. Du vil fremdeles kunne kommunisere med serveren fra klientsiden ved hjelp av HTTP -forespørsler. Du kan veldig mye passere data fra klient til server, behandle dem ved å bruke en server sidelogikk og returnere resultatet.

Så avhengig av hva slags webapplikasjon du utvikler, kan det hende du må bestemme hvor du skal implementere logikk: på serversiden eller klientsiden i sak til sak.

Enkel hei verdensapplikasjon i kolbe

Du kan bruke kodeprøven nedenfor for å lage en forenklet "Hello World" -applikasjon i kolben for å komme i gang:

Fra kolbeimportkolbe
app = kolbe (__ name__)
@App.rute('/')
def hello_world_app ():
Melding = "Hello World!!""
Returmelding

Den første uttalelsen i ovennevnte kodeprøve importerer "kolbe" -klassen fra "kolbe" -modulen. Når du er importert, vil du kunne bruke alle metoder som er tilgjengelige i "Kolbe" -klassen.

I neste uttalelse opprettes en ny forekomst av "kolbe" -klasse, og navnet på filen blir levert til den som et argument. Hvis du bare bruker en enkelt ".py ”-filen uten en ekstra“ __init__.py ”-filen som vanligvis brukes mens du oppretter en filstruktur for en Python -pakke, vil navnet ha en hardkodet verdi av“ __main__ ”. Argumentet “__Name__” forteller Flask hvor du skal se etter filer relatert til den nåværende kolbeapplikasjonen som blir utført. Du kan også levere din egen tilpassede vei til hovedkolbefilen i stedet for å levere et "__name__" -argument. Men typisk bruker de fleste utviklere “__name__” bare, og dette ser ut til å være standard praksis.

Deretter en "dekorasjon" "app.rute ”er knyttet til" Hello_world_app "-funksjonen. Dekorasjonsfunksjoner utvider eller endrer funksjonen de er knyttet til, uten å faktisk endre dem. Her, “App.Rute ”dekoratør brukes til å spesifisere URL -banen der den vedlagte funksjonen kjøres. “/” -Symbolet forteller Flask å utføre en funksjon på “/” URL, som står for “Root” -domenet eller “Root” URL. For eksempel, hvis URL -en for appen din er "App.com ”, funksjonen vil bli utløst for“ APP.com ”URL. Du kan også endre det til noe annet. For eksempel ved å bruke en dekoratør "@App.rute ('/helloworld') ”, kan du kartlegge funksjonen til“ App.com/helloworld ”url.

Endelig brukes funksjonen "Hello_world_app" til å returnere innholdet du vil vise i en nettleser når webappen din kjører.

Kjører en kolbeapp

For å kjøre en kolbe -app i Linux, må du kjøre en kommando i følgende format:

$ Eksport Flask_app = Main.py
$ Kolbe -løp

Endre “Main.py ”navn etter behov for å matche det med ditt eget .”PY” -filen der du har skrevet kolbekoden. Den andre kommandoen kjører kolbeappen din. Du kan også kjøre denne alternative kommandoen også:

$ Flask_app = main.py kolbe løp

Etter å ha kjørt disse kommandoene, bør du se noe utdata som dette:

Bare åpne URL som er nevnt i terminalen i en nettleser for å se applikasjonen din i aksjon.

Du kan kjøre Flask -app i feilsøkingsmodus ved å bruke "Flask_env" miljøvariabel i følgende format:

$ Flask_env = utvikling flask_app = main.py kolbe løp

Bruke Jinja2 -malmotor

Kolbe bruker “Jinja2” for å malmotor for å lette skriving av HTML -kode i Python. Du kan bruke den til å sette en markering for “Hello World!!" beskjed.

Lag en ny katalog som heter "Maler" der hovedkolbe -skriptet ditt ligger. Inne i "mal" -katalogen, oppretter du en ny fil som heter "HW_TEMPLATE.html ”. Åpne “hw_template.HTML ”-filen og legg følgende kode i den:


Hei Verden!!
% Hvis farge %

Hei Verden!!


% annet %

Hei Verden!!


% slutt om %

Denne koden er skrevet i en syntaks som “jinja2” forstår. Du kan henvise til "Jinja2" -dokumentasjon tilgjengelig her. Malmarkeringen sjekker om en variabel som heter "farge" er blitt sendt til den eller ikke. Hvis ja, så endrer det fargen på “Hello World!!”Melding ved å bruke verdien fra" farge "-variabelen som ble gitt til den.

For å sende en variabel til "Jinja2" -mal, må du skrive kode i følgende format:

@App.rute('/')
def hello_world_app ():
Retur Render_Template ('HW_TEMPLATE.html ', color = "rød")

Metoden “render_template” brukes til å gjengi markering fra en "jinja2" malfil. Du kan gi den navnet på malen du vil gjengi og eventuelle argumenter du vil gi videre til malen. “Hw_template.HTML ”-mal brukt ovenfor behandler en" farge "-variabel etter at kolbekoden har passert den en" farge "-variabel med en verdi av" rød ". Etter å ha kjørt kodeprøven som er nevnt ovenfor, bør du få følgende resultat:

Du kan også videreføre variable verdier fra en URL selv. Ta en titt på kodeprøven nedenfor:

@App.rute('/')
@App.rute('/')
def hello_world_app (color = "blå"):
Retur Render_Template ('HW_TEMPLATE.html ', farge = farge)

To URL -stier eller ruter er festet til "Hello_World_app" -funksjonen. Når du besøker rotdomenet (eksempel “App.com ”), vil du se“ Hello World!!”Melding i blå farge som standardverdi for“ farge ”-variabel er definert som“ blå ”, og dette er verdien du sender til“ Jinja2 ”-mal også.

Den andre banen definert av “@App.Rute ('/') ”bruker en spesiell syntaks. Innenfor "" -symboler kan du definere alle variabler for å gi videre til "Hello_world_app" -funksjonen. Standardverdien for denne variabelen er definert som et argument for "Hello_Word_app" -funksjonen. Du passerer deretter din egen tilpassede variabel som et argument til metoden “render_template” og setter verdien til variabelen du definerte mens du dekorerer funksjonen med en ny tilpasset rute.

For eksempel “Hallo verden !!”Meldingen vil endre seg til farget rødt når du besøker“ App.com/rød ”url, men den vil forbli blå når du besøker“ App.com ”URL. Her er en sammenligning side om side:

Konklusjon

Kolbe er et kraftig rammeverk for utvikling av webapplikasjoner som kan brukes til å lage både enkle og avanserte applikasjoner. Denne opplæringen forklarer hovedsakelig å skape en enkel “Hello World!!”App. Du kan koble den til en database og bruke utvidelser for å utvide funksjonaliteten ytterligere. Se kolbedokumentasjon for å vite mer om å administrere databaser og utvidelser.