Flask Framework Byspel Tech

Motor de plantillas Flask: Flask emplea Jinja2 como su herramienta principal para generar y manejar plantillas. Aunque podrías optar por otro motor de plantillas, Jinja2 sigue siendo esencial para el funcionamiento básico de Flask. La presencia de Jinja2 es fundamental para aprovechar al máximo las extensiones avanzadas, ya que muchas de ellas requieren su disponibilidad.

Motor de PLANTILLAS Flask | render_template Flask

Motor de PLANTILLAS Flask

Observa el siguiente vídeo paso a paso y aprende el uso del motor de plantillas Flask, Jinja2, podrás ver lo fácil que es añadir dinamismo a tus aplicaciones Web con Python.

Suscríbete y sigue el curso de Flask gratis

Aspectos importantes de Jinja2

Flask configura Jinja2 de la siguiente manera:

  • Habilita el autoescapado para todas las plantillas que terminan en .html, .htm, .xml, .xhtml, así como .svg cuando se utiliza render_template().
  • Activa el autoescapado para todas las cadenas cuando se usa render_template_string().
  • Una plantilla puede elegir si activar o no el autoescapado utilizando la etiqueta {% autoescape %}.
  • Flask añade un conjunto de funciones globales y asistentes al contexto de Jinja2, junto con los valores predeterminados.

Para comprender los siguientes bloques de código te invito a ver el vídeo anterior, sin duda quedarás con los conocimientos necesarios para el manejo de plantillas.

Renderizar una página

from flask import Flask, render_template

app = Flask(__name__)

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

if __name__ == '__main__':
    app.run(debug=True)

Enviar datos a una plantilla

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    user = {'username': 'John', 'email': 'john@example.com'}
    return render_template('index.html', user=user)

if __name__ == '__main__':
    app.run(debug=True)

Utilizar estructuras de control con Jinja2

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>User Profile</title>
</head>
<body>
    <h1>Welcome, {{ user.username }}!</h1>
    {% if user.email %}
    <p>Your email is: {{ user.email }}</p>
    {% else %}
    <p>No email provided</p>
    {% endif %}
</body>
</html>

¿Ya culminaste esta lección?, pasa a la siguiente y aprende más sobre este Micro Framework para Python y crea tus propias aplicaciones Web.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

×