Flask Academy · Lektion

Type converters: int, float, string, path

Begræns URL-segmenter med indbyggede converters.

Lektion 2 af 413 trin

Type converters: int, float, string, path er en gratis Flask Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Flask Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Flask Academy-kurset indeholder 4 lektioner i alt.

Strenge er ikke altid nok

Opfangede værdier er som standard strenge, men /post/42 bør give et tal og ikke tekst. En konverter fortæller Flask, hvilken type det pågældende segment skal have.

Konvertersyntaks

Sæt konverterens navn før variablen med et kolon. Mønstret er <converter:name>, og Flask anvender det, før din visning kaldes.

@app.route('/post/<int:post_id>')
def show(post_id):
    return str(post_id + 1)

int-konverteren

Brug int til at opfange heltal. /post/42 giver din visning heltallet 42, så du kan regne uden selv at kalde int(). 🔢

@app.route('/page/<int:n>')
def page(n):
    return f'Page {n}'

int afviser ikke-tal

En konverter filtrerer også URL'er. /page/abc matcher ikke en int-rute, så Flask returnerer 404 i stedet for at gå ned inde i din funktion.

float-konverteren

Brug float til decimaltal som priser eller bedømmelser. /rate/4.5 giver dig flydende tallet 4.5, som straks kan bruges i beregninger.

@app.route('/rate/<float:score>')
def rate(score):
    return str(score * 2)

string-konverteren

string er standarden: den accepterer al tekst, men stopper ved en skråstreg. Du skriver den sjældent eksplicit, fordi almindelig <name> allerede fungerer sådan.

@app.route('/tag/<string:label>')
def tag(label):
    return label

path-konverteren

Brug path, når værdien kan indeholde skråstreger, som i en mappesti. I modsætning til string opfanger den /docs/intro/setup som én samlet værdi.

@app.route('/files/<path:filepath>')
def serve(filepath):
    return filepath

Vælg det rigtige værktøj

Tilpas konverteren til dine data: int til id'er, float til decimaltal, string til ord og path til ruter med skråstreger. Det rigtige valg afviser ugyldigt input tidligt.

Konvertere validerer for dig

Ved at afvise URL'er, der ikke matcher, med 404 fungerer konvertere som den første linje i valideringen. Din visning kører kun, når typen allerede passer.

Kombinér i én rute

Du kan blande konvertere på tværs af segmenter. Her findes et int-id og en string-fane i den samme sti, og hver af dem har sin egen type.

@app.route('/user/<int:uid>/<tab>')
def view(uid, tab):
    return f'{uid}:{tab}'

Negative tal og særlige tilfælde

Den indbyggede int-konverter matcher som standard kun ikke-negative heltal. Hvis du har brug for minustegn eller strengere regler, kan du senere skrive en brugerdefineret konverter.

Hurtigt tjek

Hvilken konverter lader en opfanget værdi indeholde skråstreger, som docs/intro/setup?

Opsummering: Du typede dine URL'er

Konvertere giver opfangede værdier en type og afviser ugyldigt input med 404. Husk int, float, string og path. Næste emne: sikker opbygning af URL'er. 🧭

Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Type converters: int, float, string, path” gratis?

Ja — hele teksten til “Type converters: int, float, string, path” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Flask Academy-kurset, skal du opgradere til CoddyKit PRO. Flask Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Type converters: int, float, string, path”?

Begræns URL-segmenter med indbyggede converters. Du øver dig i Flask Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Flask Academy?

Der kræves ingen tidligere erfaring. Flask Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Type converters: int, float, string, path”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Flask Academy-lektion?

Ja. Alle Flask Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Udtræk variabler fra stien
  2. Type converters: int, float, string, path
  3. Byg URL'er med url_for
  4. Afsluttende skråstreger og redirect-adfærd
← Tilbage til Flask Academy