Include en un template Flask

15/Mar/2016 Python , Deja un comentario

Si te has liado a realizar templates en Flask es fácil que quieras reutilizar código y necesites meter un include en un template Flask. En este ejemplo vamos a explicar cómo se puede llevar a cabo esta tarea.

Lo primero es crear el código a reutilizar. El código no deja de ser un trozo HTML, en este caso vamos a crear un footer.html

  1. <footer>
  2. <hr/>
  3. Página creada por <a href="http://lineadecodigo.com">Línea de Código</a>. &copy; 2016
  4. </footer>

El fichero footer.html lo vamos a poner dentro del directorio templates. A modo de organización hemos creado un subdirectorio inc para guardarlo.

/templates/inc/footer.html

Ahora nos dirigimos a nuestro template en Flask y lo que tenemos que utilizar es una estructura:

  1. {% include '/ruta/fichero_a_inluir.html' %}

Es importante que la ruta y el fichero a incluir es desde la base del directorio. En el caso que estamos codificando habría que añadir lo sguiente:

  1. {% include '/inc/footer.html' %}

De esta forma, nuestra aplicación que crea un include en un template Flask tendría tres partes:

Programa: hola.py

  1. from flask import Flask, render_template
  2.  
  3. app = Flask(__name__)
  4.  
  5. @app.route('/')
  6. def saludo():
  7. nombre = 'Victor'
  8. return render_template('hola_footer.html',nombre=nombre)
  9.  
  10. if __name__ == '__main__':
  11. app.run()

Template: /templates/hola_footer.html

  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <meta charset="UTF-8">
  4. <title>Hola Mundo</title>
  5. </head>
  6.  
  7. Hola {{ nombre }}
  8.  
  9. {% include '/inc/footer.html' %}
  10.  
  11. </body>
  12. </html>

Código a Reutilizar: /templates/inc/footer.html

  1. <footer>
  2. <hr/>
  3. Página creada por <a href="http://lineadecodigo.com">Línea de Código</a>. &copy; 2016
  4. </footer>

Vídeos sobre Flask


¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*