Flask Academy · Lektion

render_template och mappen templates

Returnera en HTML-fil i stället för en sträng.

Lektion 1 av 413 steg

render_template och mappen templates är en gratis lektion i Flask Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Flask Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Flask Academy innehåller totalt 4 lektioner.

Från strängar till sidor

Hittills har dina routes returnerat vanliga strängar. Riktiga sidor behöver HTML, och Flask ger dig render_template för att enkelt leverera kompletta HTML-filer.

Vad render_template gör

render_template hittar en HTML-fil, kör den genom template-motorn och returnerar den färdiga sidan som response-body.

from flask import render_template

@app.route('/')
def home():
    return render_template('index.html')

Mappen templates

Flask letar efter din HTML i en mapp med namnet templates bredvid appfilen. Lägg index.html där, så hittar Flask den automatiskt. 📁

myapp/
  app.py
  templates/
    index.html

Varför ett fast namn

Namnet templates är en konvention, inte en gissning. Flask vet var den ska leta, så du behöver aldrig skriva mappsökvägen i render_template.

Ange bara filnamnet

Du anger endast filnamnet, inte en fullständig sökväg. Flask lägger själv till det i templates-mappen, vilket håller koden kort och portabel.

return render_template('about.html')

Undermappar i templates

Du kan gruppera sidor i undermappar och ange dem med snedstreck. Det håller ett stort projekt välordnat när det växer.

return render_template('users/profile.html')

En minimal template

En template består i grunden av vanlig HTML. Den enklaste är bara en vanlig sida utan någon särskild syntax ännu.

<!doctype html>
<title>Home</title>
<h1>Welcome</h1>

Templates renderas

Även en vanlig fil renderas: Flask bearbetar den först genom Jinja2. Det steget gör att du senare kan lägga till dynamiska delar.

Returnera resultatet

render_template returnerar en sträng med HTML, som du returnerar från din vy. Flask omsluter den i en korrekt response med rätt content type.

@app.route('/')
def home():
    return render_template('index.html')

Felet TemplateNotFound

Om Flask inte hittar filen får du ett TemplateNotFound-fel. Kontrollera stavningen och att filen verkligen ligger i templates.

Separera logik och markup

Templates håller HTML borta från din Python-kod. Vyer hanterar logik, templates hanterar presentation, och den uppdelningen gör båda mycket lättare att läsa.

Snabbtest

Var förväntar sig Flask som standard att dina HTML-filer ska ligga?

Sammanfattning

Du har lärt dig att render_template levererar HTML från templates-mappen utifrån filnamn, så logiken stannar i Python och markupen i filer. Bra jobbat! 🎉

Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”render_template och mappen templates” gratis?

Ja – hela texten till ”render_template och mappen templates” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Flask Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Flask Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”render_template och mappen templates”?

Returnera en HTML-fil i stället för en sträng. Ni övar på Flask Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Flask Academy?

Du behöver inga förkunskaper. Utbildningen i Flask Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”render_template och mappen templates”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Flask Academy-lektionen?

Ja. Varje Flask Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. render_template och mappen templates
  2. Skicka data till en template
  3. Jinja2-loopar och villkor
  4. Autoescaping och filtret safe
← Tillbaka till Flask Academy