Рендер шаблона Jinja
У меня есть шаблон jinga, как показано ниже:
<span>Holiday Quote Includes</span> {% set rendered_bits = [] %}
<div class="flex fontWeight400 tour_includes-items">
{% for bit in bits %} {% if bit == 'hotel' and 'hotel' not in rendered_bits %}
<div class="flex fontWeight400 tour_includes-item">
<img src="https://Hotel.svg" alt=""> Hotel
</div>
{% set rendered_bits = rendered_bits + ['hotel'] %}
{% elif (bit == 'drive' or bit =='transfer' or bit == 'intercity' or bit == 'multicity' or bit == 'rental') and 'transport' not in rendered_bits %}
<div class="flex fontWeight400 tour_includes-item">
<img src="https://Transport.svg" alt=""> Transport
</div>
{% set rendered_bits = rendered_bits + ['transport'] %} {% elif (bit == 'flight') %}
<div class="flex fontWeight400 tour_includes-item">
<img src="https://Airplane_VW.svg" alt=""> Flight
</div>
{% set rendered_bits = rendered_bits + ['transport'] %} {% elif bit == 'paid_activity' and 'sightseeing' not in rendered_bits %}
<div class="flex fontWeight400 tour_includes-item">
<img src="https://Sightseeing.svg" alt=""> Sightseeing
</div>
{% set rendered_bits = rendered_bits + ['sightseeing'] %} {% endif %} {% endfor %}
</div>
</div>
Здесь я отображаю этот шаблон с:
bits = {'flight', 'hotel', 'intercity', 'paid_activity', 'transfer'}}
Проблема в том, что для битов 'intercity' и 'transfer' соответствующий div должен быть отображен только один раз. Но он отображается дважды. Ниже приведены отрисованные данные:
<div class="row text-center" style="font-size: 17px;font-weight: 400;line-height: 16px;letter-spacing: 0.005em;">
<div class="col-1"> <img src="https://cdn.metripping.com/pathfndr/assets/v2/img/detailsPage/highlights.svg" style="height: 45px;background-color: #4E76B1;background: #4E76B1;padding: 10px;border-radius: 100%;margin-bottom: 10px">
<p class="mb-0">Flight</p>
</div>
<div class="col-1"> <img src="https://cdn.metripping.com/pathfndr/assets/v2/img/detailsPage/bed-TC.svg" style="height: 45px;background-color: #F1C188;background: #F1C188;padding: 10px;border-radius: 100%;margin-bottom: 10px">
<p class="mb-0">Hotels</p>
</div>
<div class="col-1">
<img src="https://cdn.metripping.com/pathfndr/assets/v2/img/detailsPage/transfers.svg" style="height: 45px;background-color: #E395D7;background: #E395D7;padding: 10px;border-radius: 100%;margin-bottom: 10px">
<p class="mb-0">Transfer</p>
</div>
<div class="col-1"> <img src="https://cdn.metripping.com/pathfndr/assets/v2/img/detailsPage/tabler_camera.svg" style="height: 45px;background-color: #8C7DE6;background: #8C7DE6;padding: 10px;border-radius: 100%;margin-bottom: 10px">
<p class="mb-0">Activity</p>
</div>
<div class="col-1">
<img src="https://cdn.metripping.com/pathfndr/assets/v2/img/detailsPage/transfers.svg" style="height: 45px;background-color: #E395D7;background: #E395D7;padding: 10px;border-radius: 100%;margin-bottom: 10px">
<p class="mb-0">Transfer</p>
</div>
</div>
также я использую следующие строки для заполнения шаблона jinja:
from jinja2 import Template
template_skeleton = template_skeleton.replace("\n", "") # Remove newlines
template = Template(template_skeleton)
pdf_template = template.render(bits)
Может ли кто-нибудь помочь мне, где я ошибаюсь?