Динамический доступ к сеансу в шаблонах - PullRequest
0 голосов
/ 01 августа 2011

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

{% for q in questions %}
<div class="question_wrap">
    <h2>{{ q }}</h2>

    # this does not work
    {% if not request.session.get(str(q.id), False) %}
        <!-- show them vote options -->
    {% else %}
        <!-- dont show options -->
    {% endif %}

</div>
{% endfor %}

1 Ответ

2 голосов
/ 01 августа 2011

Синтаксис шаблонов Django очень ограничен, чтобы запретить людям помещать слишком много логики в шаблоны, и не позволяет передавать параметры в методы.

Вы можете подготовить список кортежей уже в представлении или написать для этого простой тег шаблона.Первый вариант обычно проще:

В представлении:

questions = [(q, request.session.get(str(q.id), False)) for q in questions]

В шаблоне:

{% for q, has_voted in questions %}
...
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...