所以我有一个扩展/折叠树,我正在跟踪会话数据。
我希望能够根据会话数据在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)
或者我是否必须将项目和状态预处理为新的上下文变量?
谢谢!
詹姆斯
答案 0 :(得分:0)
假设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