-6

这是我在 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 循环时组成的。谢谢

4

2 回答 2

4

您似乎没有阅读过任何有关 Django 模板的文档。你应该在提问之前这样做。

Django 的模板语言是有意限制的。它不是 Python。您不能在其中进行任意函数调用。这类事情必须在视图中完成,或者可能在自定义模板标签中完成。

于 2012-12-06T10:11:29.317 回答
1

我认为它应该是这样的:

{% for i, j in data_supplied_to_template %}
    {{ i * " " + j }}
{% endfor %}

注意endfor模板替换的关键字和双括号语法。

现在您必须将所需的数据放入data_supplied_to_template您交给模板引擎进行渲染的变量中。

一些额外的建议包括为您的变量使用更好的 nanes(i、j 通常保留用于整数和索引)

有关更多信息,请参阅模板文档

于 2012-12-06T10:12:14.363 回答