Django模板-新变量声明

2024-05-19 12:34:32 发布

您现在位置:Python中文网/ 问答频道 /正文

让我以我刚刚开始的Python为序,如果这真的是一个简单的问题^ ^ ^

我有一个包含以下内容的html文件:

        {%for d in results%}
        <div class="twt">
            <img src="{{ d.profile_image_url }}" width="48px" height="48px" /> <span> {{ d.text }} </span>
            <span class="date">{{ d.created_at }}</span>
        </div>
    {% endfor %}

这很好,但我也想在这个页面上声明一个变量。假设在这个例子中,我们可以将每显示一个d的行号递增,并将当前行号吐出。

我试着做:

{{ RowNumber = 0}} 
{{ RowNumber ++ }}

但它似乎不允许我声明RowNumber。


Tags: 文件inimagedivsrc声明imgfor
3条回答

如果要在Django模板中设置任何变量,可以使用this small template tag I've written

查看for循环上的documentation

它自动创建一个名为forloop.counter的变量,该变量保存当前迭代索引。

至于如何声明变量这一更大的问题,Django没有现成的方法,它不被认为是一个缺失的特性,而是一个特性。如果您真的想这样做,那么使用custom tags是可能的,但在大多数情况下,您要遵循的原则是,大多数需要这样做的事情都应该在视图中完成,模板应该保留为非常简单的逻辑。例如,对于汇总总数的示例,可以使用add过滤器。同样,您可以像使用标记一样create your own filters

以下是操作方法:

{% with name="World" greeting="Hello" %}     
<html>
<div>{{ greeting }} {{name}}!</div>
</html>
{% endwith %}

另请参见:with tag

本文作者johnyardenHow to set a value of a variable inside a template code?

相关问题 更多 >