Python Flask – Uso de Jinja2 para renderizar plantillas HTML

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()
  1. En tu archivo app.py, importa render_template desde Flask y crea una vista que renderice la plantilla.
  2. Aquí, hemos definido una vista llamada index() que pasa variables (title, greeting, message) a la plantilla index.html utilizando render_template.
  3. 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

Deja un comentario