{{ row.get('title') or row.get('store_id') or 'Report' }}

{# --- Metadata: print non-list fields --- #} {% for k, v in row.items() %} {% if not (v is sequence and (v is not string)) %} {% endif %} {% endfor %}
{{ k }} {{ v if v is not none else "" }}
{# --- Detect image-list columns created by tPivot --- #} {% set imgcols = namespace(keys=[]) %} {% for k, v in row.items() %} {# treat as image column if value is a non-empty list whose first item looks like a data URI #} {% if v is sequence and (v is not string) and v|length > 0 and (v[0] is string) and v[0].startswith('data:') %} {% set imgcols.keys = imgcols.keys + [k] %} {% endif %} {% endfor %} {# --- Render images grouped by column (e.g., "9578", "OTHER", etc.) --- #} {% for col in imgcols.keys | sort %}

{{ col }}

{% set imgs = row[col] %} {% if imgs|length == 0 %}
No images
{% else %}
{% for src in imgs %} {% if src %} {% endif %} {% endfor %}
{% endif %}
{# Optional page break after each section:
#} {% endfor %}