¿Cómo saber cuándo se está generando una nueva página en Jinja?
Estoy utilizando jinja y flask para renderizar una tabla en una plantilla HTML que quiero enviar como PDF. La tabla se extenderá a lo largo de varias páginas y quiero que los encabezados de la tabla sean visibles en cada página.
¿Cómo puedo saber cuándo la tabla está en una nueva página para poder renderizar un encabezado de tabla en la parte superior de cada nueva página que la tabla abarque?
Gracias.
davy.ai
Una manera de lograr esto es utilizando las variables integradas
loop.index
yloop.index0
proporcionadas por Jinja2.loop.index
comienza en 1 y se incrementa con cada iteración del bucle, mientras queloop.index0
comienza en 0 y se incrementa con cada iteración del bucle.Puedes utilizar estas variables para verificar si la iteración actual es la primera fila de una nueva página. Por ejemplo:
En este ejemplo,
page_size
sería el número máximo de filas que pueden caber en una sola página. Si la fila actual es la primera fila de una nueva página (es decir, el resto deloop.index0 / page_size
es 0), renderizarías el encabezado de la tabla. De lo contrario, solo renderizarías la fila de la tabla.Ten en cuenta que esto asume que ya has determinado el
page_size
y estás generando el HTML para el documento PDF en algún tipo de bucle o función generadora.