Построение динамического дерева с информацией о сеансе в Django (шаблон вопроса) - PullRequest
0 голосов
/ 28 июля 2010

Итак, у меня есть расширяющееся / сворачивающееся дерево, которое я отслеживаю в данных сеанса.

Я хочу иметь возможность отображать дерево в Django на основе данных сеанса.

Я сохраняю состояние с помощью чего-то вроде:

request.session['treedata'][item_id] = state # (0 or 1)

В моем шаблоне для рендеринга я перебираю элементы и для каждого элемента я хочу установить видимость объекта, например:

{% for item in itemlist %} 
<div {% if request.session.treedata.<whatgoeshere?> %}style="display:none"{% endif %}>
Content of the subtree
</div>
{% endfor %}

Так вот где я запутался.

Могу ли я указать:

request.session.treedata.(item.id)

или

request.session.treedata.(forloop.counter)

Или мне нужно предварительно обработать элемент и состояние в новую переменную контекста?

Спасибо!

Джеймс

1 Ответ

0 голосов
/ 28 июля 2010

Предполагая, что item - модель, а item_id - item.id, вы должны уметь:

{% for item in itemlist %} 
  <div {% if request.session.treedata.item.id %}style="display:none"{% endif %}>
    Content of the subtree
  </div>
{% endfor %}

Вы можете прочитать о том, как шаблоны Django выглядят переменными здесь:*

http://docs.djangoproject.com/en/1.2/topics/templates/#variables

...