Попытка отправить данные из python в html

Я собираю контент и пытаюсь отобразить его на html странице, но он ничего не отображает, когда я пытаюсь запустить цикл jinja для словаря, который я послал из файла python, он запускает каждую переменную отдельно, но не запускает цикл для словаря

Словарь Python, который я пытаюсь отобразить

dictionary = dict(
        [('page_title', url), ('title', title), ('anchor', anchor),
         ('images', images)])

Html код с тегами jinja

<div id="dictionary">
{% for items in dictionary %}
<div class="card" style="width: 18rem;">
    <img src="{{ items.images }}" class="card-img-top" alt="{{ items.title }}">
    <div class="card-body">
        <a href="{{ items.anchor }}" class="btn btn-primary"><h5 class="card-title">{{ items.title }}</h5></a>
    </div>
</div>
{% endfor %}

Не требуется никакого цикла for. Напрямую, вы можете использовать dictionary data

<div class="card" style="width: 18rem;">
    <img src="{{ dictionary.images }}" class="card-img-top" alt="{{ dictionary.title }}">
    <div class="card-body">
        <a href="{{ dictionary.anchor }}" class="btn btn-primary"><h5 class="card-title">{{ dictionary.title }}</h5></a>
    </div>
</div>

Вы можете создать пользовательский тег шаблона следующим образом:

templatetags/tags.py

from django.template.defaulttags import register

@register.filter
def get_item(dictionary, key):
    return dictionary.get(key)

your_html.html:

<div id="dictionary">
<div class="card" style="width: 18rem;">
    <img src="{{ dictionary|get_item:'images' }}" class="card-img-top" alt="{{ dictionary|get_item:'title' }}">
    <div class="card-body">
        <a href="{{ dictionary|get_item:'anchor' }}" class="btn btn-primary"><h5 class="card-title">{{ dictionary|get_item:'title' }}</h5></a>
    </div>
</div>
Вернуться на верх