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
<footer> <hr/> Página creada por <a href="https://lineadecodigo.com">Línea de Código</a>. © 2016 </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:
{% 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 siguiente:
{% 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
from flask import Flask, render_template app = Flask(__name__) @app.route('/') def saludo(): nombre = 'Victor' return render_template('hola_footer.html',nombre=nombre) if __name__ == '__main__': app.run()
Template: /templates/hola_footer.html
<!DOCTYPE html> <html lang="es"> <head> <title>Hola Mundo</title> </head> <body> Hola {{ nombre }} {% include '/inc/footer.html' %} </body> </html>
Código a Reutilizar: /templates/inc/footer.html
<footer> <hr/> Página creada por <a href="https://lineadecodigo.com">Línea de Código</a>. © 2016 </footer>