Как получить с оператором работу с тегом Zinnia

У меня проблема с итерацией по результату тега Zinnia. Допустим, этот тег возвращает список некоторых категорий, я пытался управлять им несколькими способами:

{% with categories=get_plain_categories %}
    {% for category in categories %}
        <h1>{{ category }}</h1>
    {% endfor %}
{% endwith %}

или просто:

{% for category in get_plain_categories %}
    <h1>{{ category }}</h1>
{% endfor %}

Но в обоих отношениях, кажется, даже не запустить get_plain_categories тег (я сделал несколько отпечатков в нем), но когда я пишу: {% get_plain_categories %}, он возвращает список, как и положено.

Как мне заставить это работать?

1 ответ

Unfortunatelly with тег не настолько мощный, вы не можете использовать его с выводом других тегов. Вам придется создать свой собственный тег.

В качестве примера вы можете взглянуть на static, Это позволяет вам вставить путь к статическому файлу с {% static "images/hi.jpg" %} но вы не можете легко сохранить его в переменной для последующего использования. Вот почему в Django 1.5 он получил новый синтаксис {% static "images/hi.jpg" as myphoto %} и таким образом вы можете использовать позже {{ myphoto }}, Это не может быть достигнуто с with,

Тем не менее, я не могу найти упоминаний о get_plain_categories в гугле, что странно.

Другие вопросы по тегам