render_template y la carpeta templates
Devuelva un archivo HTML en lugar de una cadena.
render_template y la carpeta templates es una lección gratuita de Flask Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Flask Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Flask Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
From Strings to Pages
So far your routes returned plain strings. Real pages need HTML, and Flask gives you render_template to serve full HTML files cleanly.
What render_template Does
render_template finds an HTML file, runs it through the template engine, and returns the finished page as your response body.
from flask import render_template
@app.route('/')
def home():
return render_template('index.html')The templates Folder
Flask looks for your HTML in a folder named templates next to your app file. Put index.html there and Flask finds it automatically. 📁
myapp/
app.py
templates/
index.htmlWhy a Fixed Name
The name templates is a convention, not a guess. Flask knows where to look, so you never write the folder path inside render_template.
Reference Only the Filename
You pass just the filename, not a full path. Flask joins it onto the templates folder for you, keeping your code short and portable.
return render_template('about.html')Subfolders Inside templates
You can group pages in subfolders and reference them with forward slashes. This keeps a large project tidy as it grows.
return render_template('users/profile.html')A Minimal Template
A template is ordinary HTML at heart. The simplest one is just a regular page with no special syntax yet.
<!doctype html>
<title>Home</title>
<h1>Welcome</h1>Templates Get Rendered
Even a plain file is rendered: Flask processes it through Jinja2 first. That step is what lets you add dynamic pieces later.
Returning the Result
render_template returns a string of HTML, which you return from your view. Flask wraps it in a proper response with the right content type.
@app.route('/')
def home():
return render_template('index.html')TemplateNotFound Errors
If Flask cannot find the file, you get a TemplateNotFound error. Check the spelling and that the file truly sits inside templates.
Separating Logic and Markup
Templates keep HTML out of your Python. Views handle logic, templates handle presentation, and that split keeps both far easier to read.
Quick Check
Where does Flask expect your HTML files to live by default?
Recap
You learned that render_template serves HTML from the templates folder by filename, so logic stays in Python and markup stays in files. Nice work! 🎉
Preguntas frecuentes
¿La lección «render_template y la carpeta templates» es gratis?
Sí — el texto completo de «render_template y la carpeta templates» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Flask Academy, actualiza a CoddyKit PRO. El curso de Flask Academy incluye 4 lecciones en total.
¿Qué aprenderé en «render_template y la carpeta templates»?
Devuelva un archivo HTML en lugar de una cadena. Practicas Flask Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Flask Academy?
No se requiere experiencia previa. Flask Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «render_template y la carpeta templates»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Flask Academy?
Sí. Cada lección de Flask Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- render_template y la carpeta templates
- Pase datos a una plantilla
- Bucles y condicionales de Jinja2
- Escape automático y el filtro safe