这是我在Stack Overflow中的第一篇文章。我有这个循环,它在Python本身完全正常。
for i, j in enumerate(ls.split("/")):
print i * " " + j
我想在Django模板中实现相同的功能。这就是我以为我会做的事情:
{% for i, j in enumerate(ls.split("/")) %}
{% i * " " + j %}
{% end for %}
但这不起作用。我从views.py获得 ls 变量。 i and j
变量在实现for循环时组成。感谢
答案 0 :(得分:4)
您似乎没有阅读任何有关Django模板的文档。你应该在提问之前这样做。
Django的模板语言是故意限制的。它不是Python。你不能在其中进行任意函数调用。这种事情必须在视图中完成,或者可能在自定义模板标记中完成。
答案 1 :(得分:1)
我认为它应该是这样的:
{% for i, j in data_supplied_to_template %}
{{ i * " " + j }}
{% endfor %}
注意endfor
关键字和模板替换的双括号语法。
现在,您必须将所需的数据放入data_supplied_to_template
变量中,然后将其传递给模板引擎进行渲染。
一些额外的建议包括为变量使用更好的nanes(i,j通常保留为整数和索引)
有关详细信息,请参阅template documentation。