Gå til innhold

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):

pip install Flask

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
1
2
3
4
5
6
7
8
9
import flask

app = flask.Flask(__name__)

@app.route('/')
def index():
    return 'Hello World!'

app.run(debug=True)  # Siste linje av dokumentet!

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:

1
2
3
@app.route('/<name>')
def name_route(name):
    return f'Hello {name}!'

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!


11 måneder siden 11 måneder siden GitHub Sondre Grønås