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
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 sguiente:
{% 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
Hola Mundo
Hola {{ nombre }}
{% include '/inc/footer.html' %}