Как получить с оператором работу с тегом 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
в гугле, что странно.