Flask Academy · Lektion

URL-præfikser og blueprint-url_for

Navngiv routes, og opret links på tværs af blueprints.

Lektion 3 af 413 trin

URL-præfikser og blueprint-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.

Gruppér URL'er under en sti

Ofte bør alle routes i en blueprint ligge under den samme sti, f.eks. /admin. Et url_prefix anvender stien på hele blueprinten på én gang.

Angiv det ved registreringen

Du angiver præfikset, når du registrerer blueprinten. Derefter ligger alle routes i den under denne fælles grundsti.

app.register_blueprint(admin, url_prefix="/admin")

Sådan kombineres præfikser

En route, der er defineret som /users under præfikset /admin, bliver til /admin/users. Flask sætter ganske enkelt præfikset og route-stien sammen.

Hold routes fri for præfikser

Skriv routes i blueprinten uden at gentage præfikset. Præfikset angives én gang ved registreringen, så dine view-stier forbliver korte.

@admin.route("/users")
def users():
    return "Admin users"

Stop med at hardcode links

Skriv aldrig URL'er som almindelige strenge i templates. url_for bygger det korrekte link ud fra et endpointnavn, så links fortsat virker efter ændringer af stier.

Endpoints har navneområder

Med blueprints består et endpoint af blueprintens navn plus viewets navn. Users-viewet i admin har endpointet admin.users.

url_for("admin.users")

Præfikset anvendes automatisk

url_for kender allerede præfikset. Når du kalder den for admin.users, returnerer den /admin/users med præfikset inkluderet, uden ekstra arbejde.

Opret links i den samme blueprint

I én blueprint kan du bruge et indledende punktum som en genvej. url_for(".users") betyder users-viewet i den aktuelle blueprint.

url_for(".users")

Opret links på tværs af blueprints

Hvis du vil linke fra blog til admin, skal du angive begge dele fuldt ud. Skriv altid blueprint-navnet eksplicit, når du krydser modulgrænser.

url_for("admin.dashboard")

Overfør værdier til dynamiske routes

Ekstra nøgleordsargumenter til url_for udfylder dynamiske URL-dele, så genererede links forbliver korrekte, også for routes med parametre.

url_for("blog.post", post_id=7)

Refaktorér med tillid

Hvis du senere ændrer et præfiks, opdateres alle url_for-links automatisk. Derfor er url_for altid bedre end hardcodede strenge. 🔗

Hurtigt tjek

Hvordan linker du til et view i en blueprint?

Opsummering

Et url_prefix monterer alle routes i en blueprint under én sti, og url_for bygger links med navneområder som admin.users, der opdateres automatisk. 🎉

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 “URL-præfikser og blueprint-url_for” gratis?

Ja — hele teksten til “URL-præfikser og blueprint-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 “URL-præfikser og blueprint-url_for”?

Navngiv routes, og opret links på tværs af blueprints. 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 “URL-præfikser og blueprint-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. Hvorfor blueprints er bedre end én stor fil
  2. Opret og registrér en blueprint
  3. URL-præfikser og blueprint-url_for
  4. Blueprint-afgrænsede templates og statics
← Tilbage til Flask Academy