Flask Academy · Lektion

Udvid basen i child-sider

Brug extends, og udfyld blocks pr. side.

Lektion 2 af 413 trin

Udvid basen i child-sider 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.

Forbind en side med grundskabelonen

En underordnet side gentager ikke skelettet. Den erklærer, at den extends grundskabelonen, og udfylder derefter kun de blokke, den har brug for at ændre. 🔗

Tagget extends

Den første linje i en underordnet skabelon bruger extends til at angive dens overordnede layout. Det fortæller Jinja2, at grundskabelonen skal nedarves, før siden gengives.

{% extends "base.html" %}

extends skal stå først

Tagget extends skal være det allerførste i den underordnede fil. Hvis du placerer markup før det, går nedarvningen i stykker, og der opstår en skabelonfejl.

Tilsidesæt en blok

Hvis du vil erstatte en plads, skal du erklære blokken igen med det samme navn i den underordnede skabelon. Det, du placerer indeni, vises nu i stedet for standardindholdet fra grundskabelonen.

{% block title %}Dashboard{% endblock %}

En komplet underordnet side

Denne underordnede skabelon udvider base.html og tilsidesætter to blokke. Resten af siden kommer direkte fra det overordnede layout.

{% extends "base.html" %}
{% block title %}Home{% endblock %}
{% block content %}
  <h1>Welcome</h1>
{% endblock %}

Spring de blokke over, du vil

Du tilsidesætter kun de blokke, du vil ændre. Alle blokke, du udelader, beholder standardindholdet fra grundskabelonen.

Genbrug indhold fra den overordnede skabelon

Inde i en tilsidesat blok kan du kalde super() for at hente indholdet fra den overordnede blok og derefter tilføje dit eget omkring det.

{% block content %}{{ super() }}<p>Extra</p>{% endblock %}

Gengiv den underordnede side, ikke grundskabelonen

Din view-funktion returnerer stien til den underordnede skabelon. Flask gengiver den underordnede skabelon, som nedarver grundskabelonen, så du kalder aldrig base.html direkte.

return render_template("home.html")

Bloknavne skal stemme overens

Tilsidesættelse virker kun, når navnet på den underordnede blok stemmer nøjagtigt overens med et navn i grundskabelonen. En slåfejl lader i stilhed standardindholdet fra den overordnede skabelon blive stående.

Én grundskabelon, mange underordnede sider

Snesevis af sider kan extend den samme base.html. Hver underordnet side forbliver lille, fordi den kun indeholder den markup, der er unik for siden.

Nedarvning hjælper dig

Ændr den overordnede sidehovedblok én gang, så opdateres alle underordnede sider med det samme. Denne kaskade er den egentlige styrke ved skabelonnedarvning. 🚀

Hurtigt tjek

Hvor skal tagget extends stå i en underordnet skabelon?

Opsummering: Udvidelse af sider

Underordnede sider extend en grundskabelon, tilsidesætter blokke med matchende navne og kan genbruge indhold fra den overordnede skabelon med super(). Én grundskabelon driver nu mange sider. 🎯

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 “Udvid basen i child-sider” gratis?

Ja — hele teksten til “Udvid basen i child-sider” 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 “Udvid basen i child-sider”?

Brug extends, og udfyld blocks pr. side. 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 “Udvid basen i child-sider”?

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. Definér en base-template med blocks
  2. Udvid basen i child-sider
  3. Inkludér genbrugelige partials
  4. Macros til gentagen markup
← Tilbage til Flask Academy