Динамический доступ к сеансу в шаблонах

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

{% 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 %} 

One Solution collect form web for “Динамический доступ к сеансу в шаблонах”

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

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

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

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

В шаблоне:

 {% for q, has_voted in questions %} ... {% endfor %} 
  • Клиент теста Django не входит в систему
  • Как установить Python 3.3 (не 3.4) на OS X с Homebrew?
  • Изменение размера изображения с помощью django?
  • Очистить уродливый код HTML WYSIWYG? Утилита Python или * nix
  • Предупреждения об отказе от Django 1.9 app_label
  • Django Prepopulated Fields с двумя / тремя буквами
  • Element.tagName для python не работает
  • Как расширить рамки комментариев (django), удалив ненужные поля?
  • Python - лучший язык программирования в мире.