Esta parte de la explicación del código Guestbook de Python muestra cómo utilizar las plantillas de Jinja para generar contenido web dinámico.
Esta página forma parte de un instructivo de varias páginas. Si deseas comenzar desde el principio y ver las instrucciones para la configuración, consulta Cómo crear un libro de visitas.
Resulta difícil mantener un archivo HTML incorporado en el código. Es mejor usar un sistema de plantillas, en el que el archivo HTML se guarda en un archivo separado con una sintaxis especial que indica dónde aparecen los datos de la aplicación. Hay muchos sistemas de plantillas para Python, como: EZT, Cheetah, ClearSilver, Quixote, Django, y Jinja2, entre otros. Puedes utilizar el motor de plantilla que prefieras y combinarlo con el código de la aplicación.
Para tu comodidad, App Engine incluye los motores de plantillas de Django y Jinja2.
Cómo utilizar las plantillas de Jinja2
El archivo app.yaml
enumera la versión más reciente de jinja2
como una biblioteca obligatoria.
Las aplicaciones de producción deben usar un
número de versión real
en lugar de version: latest
.
La app importa jinja2
y crea un objeto jinja2.Environment
.
El método get
para el controlador de solicitudes MainPage
forma un diccionario de
pares clave-valor y lo pasa a template.render
.
La página se procesa de acuerdo con la plantilla index.html
, que recibe
el diccionario como entrada.
El método JINJA_ENVIRONMENT.get_template(name)
toma el nombre de un archivo de plantilla
y muestra un objeto de plantilla. La llamada template.render(template_values)
toma un diccionario de valores y muestra el texto procesado. La plantilla utiliza la sintaxis de Jinja2 para acceder y, luego, iterar los valores, y puede hacer referencia a las propiedades de esos valores.