Flask Academy · Lektion

Byg URL'er med url_for

Generér links ud fra endpoint-navne i stedet for hardkodede stier.

Lektion 3 af 413 trin

Byg URL'er med url_for er en gratis Flask Academy-lektion på CoddyKit. Dette er lektion 3 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.

Hårdkodede URL'er er skrøbelige

Hvis du skriver "/user/alice" manuelt, går det i stykker den dag, du omdøber en rute. Flask tilbyder url_for, som i stedet bygger links ud fra dine visningsnavne.

Byg ud fra slutpunktsnavnet

url_for tager visningsfunktionens navn og returnerer dens sti. Hvis du senere ændrer rutestrengen, opdateres alle genererede links automatisk. 🔗

from flask import url_for
url_for('home')

Slutpunktet er funktionsnavnet

Som standard er slutpunktet visningsfunktionens navn og ikke URL-stien. Derfor refereres def home() til som url_for('home').

@app.route('/')
def home():
    return 'Hi'

Send dynamiske værdier

For ruter med opfangede dele skal du angive dem som nøgleordsargumenter. url_for indsætter hver værdi i den matchende vinkelparentes.

url_for('profile', name='alice')
# -> '/user/alice'

Ekstra argumenter bliver til forespørgselsstrenge

Argumenter, der ikke passer i en ruteplads, tilføjes som en forespørgselsstreng. Hvis du sender page=2, føjes ?page=2 derfor til den genererede URL.

url_for('search', q='cats', page=2)
# -> '/search?q=cats&page=2'

Brug den i skabeloner

Skabeloner kan også kalde url_for, så dine HTML-links aldrig bliver forældede. Det er standardmåden at skrive href-attributter på i Jinja2-sider.

<a href="{{ url_for('home') }}">Home</a>

Refaktorér uden bekymring

Fordi links stammer fra slutpunktsnavne, kan du frit omdøbe en URL-sti. Alle kald til url_for bliver ved med at virke, så refaktoreringer forbliver sikre.

Omdirigering passer godt sammen med den

Kombinér url_for med redirect for at sende brugere til en navngiven visning. Du får en ren omdirigering, der tåler refaktorering, uden at skrive stien manuelt.

from flask import redirect
redirect(url_for('home'))

Absolutte URL'er efter behov

Send _external=True for at få et fuldt http://host/path-link. Det er praktisk i e-mails eller alle steder, hvor en relativ sti ikke er nok.

url_for('home', _external=True)

Den kender mappen static

url_for bygger også links til aktiver via slutpunktet static. Det holder stier til CSS og billeder korrekte, selv hvis din app monteres et andet sted.

url_for('static', filename='app.css')

En vane, der er værd at få

Gør url_for til dit standardvalg for alle interne links. Hårdkodede strenge sniger sig ind og forældes; genererede URL'er forbliver korrekte, mens din app udvikler sig.

Hurtigt tjek

Du kalder url_for('profile', name='alice', page=2). Hvor ender page=2?

Opsummering: Du byggede URL'er på en smart måde

url_for omdanner slutpunktsnavne til stier, udfylder rutevariabler og føjer ekstra værdier til forespørgselsstrengen. Næste emne: afsluttende skråstreger. 🧩

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 “Byg URL'er med url_for” gratis?

Ja — hele teksten til “Byg URL'er med url_for” 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 “Byg URL'er med url_for”?

Generér links ud fra endpoint-navne i stedet for hardkodede stier. 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 3 af 4.

Hvor lang tid tager lektionen “Byg URL'er med url_for”?

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