render_template och mappen templates
Returnera en HTML-fil i stället för en sträng.
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.htmlVarfö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! 🎉
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
- render_template och mappen templates
- Skicka data till en template
- Jinja2-loopar och villkor
- Autoescaping och filtret safe