Рендер шаблона 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)

Может ли кто-нибудь помочь мне, где я ошибаюсь?

Вернуться на верх