【发布时间】:2014-08-06 11:32:51
【问题描述】:
我有一个 django 应用程序,我在模板中使用以下内容:
{% load mptt_tags %}
<ul>
{% recursetree nodes %}
<li>
{{ node.name }}
{% if not node.is_leaf_node %}
<ul class="children">
{{ children }}
</ul>
{% endif %}
{% if node.is_leaf_node %}
<span ng-bind="progid = {{node.program_id}}"></span>
{% endif %}
</li>
{% endrecursetree %}
</ul>
一旦递归发生,节点的值将消失。我想知道如何在模板中的这个循环之外提取一个值,以便可以在另一个模板中使用?
我尝试过这样的事情:
<span ng-bind="progid = {{node.program_id}}"></span>
但是当我在循环之外引用它时,它不起作用!
更新:
如您所见,我正在尝试在循环外使用 progid 的值。
【问题讨论】:
-
显示所有相关代码。当我们不知道您尝试访问的方式/地点/内容时,我们应该如何知道它是未定义的“在循环之外”?
-
您可能应该从视图中传递该值。 Django 有
with标签来设置新的模板变量,但是你将如何决定循环的哪个迭代,以及你想要哪个值?可能你也应该在另一个模板中再次循环nodes -
@ExpertSystem 我更新了你问的问题:)
-
@Anentropic:实际上我是根据视图过滤模板。因此,我的 node.program_id 在树中始终是相同的值。
-
@crozzfire 是的,但不是每个节点都不一样吗?
标签: django angularjs django-templates