django шаблонов с настраиваемым фильтром тегов - PullRequest
1 голос
/ 08 июля 2020

У меня есть dict списков, содержащих изображения. Ключ - это id из journey. Теперь я хочу получить список изображений на основе идентификатора, поэтому я написал фильтр:

@register.filter
def dict_value(dict, key):
    return dict.get(key)

Теперь я хочу использовать этот фильтр, но как? Вот что я сделал:

{% for journey in journeys %}
    ...
    {% with imagelist={{ images|dictvalue:{{journey.id}} }} %}
        {% if imagelist %}
        <img class="card-img-top" data-src="" style="height: 225px; width: 100%; display: block;" src="{{imagelist.0.url}}" data-holder-rendered="true">
        {% else %}
        <img class="card-img-top" data-src="" style="height: 225px; width: 100%; display: block;" src="https://via.placeholder.com/348x225.png" data-holder-rendered="true">
        {% endif %}
    {% endwith %}
    ...
{% endfor %}

Для тестирования я хочу отобразить первое изображение, если список не пуст.

Но у меня проблема с with-tag. Как мне это сделать правильно?

1 Ответ

0 голосов
/ 08 июля 2020

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

{% with imagelist=<b>images|dictvalue:journey.id</b> %}

При этом обычно не хороший Идея реализовать бизнес-логи c в шаблоне. Обычно это делается в виде .

...