Crear la estructura templates:
├── templates/
│ ├── index.html
│ └── ...
│
└── app.py
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title }}</title>
</head>
<body>
<h1>{{ greeting }}</h1>
<p>{{ message }}</p>
</body>
</html>
app.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
title = 'Mi Página'
greeting = '¡Hola, mundo!'
message = 'Esta es una página de ejemplo utilizando Jinja2.'
return render_template('index.html', title=title, greeting=greeting, message=message)
if __name__ == '__main__':
app.run()
- En tu archivo
app.py
, importarender_template
desde Flask y crea una vista que renderice la plantilla. - Aquí, hemos definido una vista llamada
index()
que pasa variables (title
,greeting
,message
) a la plantillaindex.html
utilizandorender_template
. - Ejecuta tu aplicación Flask en tu navegador. Deberías ver la página HTML generada con los valores dinámicos reemplazados en la plantilla.
python app.py y visita http://localhost:5000/
El uso de Jinja2 en Flask te permite crear páginas web dinámicas de manera más efectiva, ya que puedes generar contenido HTML personalizado basado en datos dinámicos desde tu aplicación. Esta separación entre la lógica de la aplicación y la presentación HTML es una práctica recomendada en el desarrollo web.
En el código proporcionado anteriormente, no se hizo una referencia explícita a Jinja2 porque Flask utiliza Jinja2 como su motor de plantillas de manera implícita. Cuando se llama a render_template()
en Flask, se utiliza Jinja2 para renderizar las plantillas HTML.
Pueder ir al artículo principal:
Códigos Sencillos hechos en Python