2. Flask Hello World
La oss komme i gang med å lage din første Flask app!
I dette kapittelet skal vi kun se hvordan du installerer og setter opp din første applikasjon. Vi skal lage 2 routes, som betyr at vi oppretter nettadresser som tilbyr data (HTML) når man besøker dem.
Prosjektets oppsett
Begynn med å opprette en mappe til din app. Eller bruk et GitHub repo som du har klonet ned til din maskin og bruk den mappen som blir laget.
God Mappestruktur er lurt uansett hva du holder på med, men i Flask kan du oppleve at ting ikke virker uten riktig struktur.
For GitHub brukere
Dersom du bruker en GitHub repo, anbefaler vi at du oppretter en egen undermappe til Flask og kodefilene dine som du for eksempel kaller src
. Dersom du har et navn til applikasjonen din kan du bruke det i stedet for src
, for eksempel MinFlaskApp
.
Dette er for å skille mellom data som er knyttet til Flask / Python fra andre dokumenter, for eksempel .gitignore
, .env
, requirements.txt
eller README.md
filer som er vanlig å finne i øverste mappe. Det kan også hende man skal legge til flere mapper etter hvert, for eksempel examples
eller docs
for dokumentasjon eller lignende.
TL;DR: Struktur og system er bra. Du sparer mye tid på å sortere ting i mapper og gi filer fornuftige navn.
Installasjon
Slik det er med de fleste Python pakker og moduler, er vi nødt til å installere dem via pip
. Det kan være lurt å opprette en requirements.txt
fil i prosjektets mappe hvor du legger inn alle pakker som installeres.
For å installere flask må man skrive følgende (eller bruke Package Manager i sin IDE):
Merk at Flask
skrives her med stor forbokstav.
Min første Route
Nå er vi klar til å skrive Python! Flask kjøres av èn fil, navngi derfor hovedfilen noe lurt, som app.py
eller main.py
. Noen velger å kalle denne run.py
- hva den heter betyr ikke så mye, så lenge det er tydelig at det er filen som må kjøres!
Merk at i hovedfila er rekkefølgen viktig! Man må begynne med å opprette app
objektet, uten dette kan vi ikke legge til funksjonalitet.
Flask funksjoner defineres av @app
dekoratøren, som forvandler funksjonen under til kode som utføres når Flask handlingen skjer. I tilfellet under, utfør index()
når noen besøker /
, som betyr “Hjemmesiden”.
Til slutt, i bunnen av dokumentet, starter man applikasjonen med app.run
.
app.py | |
---|---|
Når du kjører filen, vil du få en lenke i konsollvinduet som peker til http://127.0.0.1:5000
- hvis du har gjort alt riktig, vil du nå se “Hello World!” i nettleseren 🥳🎉
Min første dynamiske route
La oss ta denne Hello Worlden et steg videre, med å introdusere en dynamisk route. Man definerer dette ved å inkludere <-valgfritt_navn->
i routen, som blir et parameter til funksjonen, slik som vist under:
Prøv å legg inn en lignende route og test den ut ved å besøke http://127.0.0.1:5000/Flask
, tøft ikke sant?
Obs om navn
Funksjonene som vises i eksemplene har navnene index
og name_route
. Disse navnene har ingen betydning for funksjonaliteten til siden, men kun for å gi deg som programmerer en oversikt. Det er ingen regel om at de må hete dette, og kunne like gjerne ha navnet hello_world
og hello_name
.
Navnene vil dog ha en betydning senere når vi driver med templating, så gi dem gjerne fornuftige navn for det!