在Django模板中使用Python字符串格式化

17

有没有一种简单的方法可以在Django模板中使用Python字符串格式化?也就是说,我想在模板中做这样的事情:

{{ "Hello, {}!".format(name) }}

有什么简便的方法可以实现这个功能吗?

{{ variable|%.3f }}

我知道在这种情况下,可以直接使用

{{ variable|floatformat:3 }}

但我真的希望能够通用地在django变量上使用任何python字符串格式。在我的系统中,必须处理两种不同的输出格式(python vs django)非常麻烦,因此我想标准化。我可以编写一个自定义模板标签,例如

{% pyformat variable format="%.3f" %}

或者使用自定义模板过滤器,例如

{{ variable|pyformat:"%.3f" }}

这两个中是否已经存在?客户筛选器能否使用传递进来的字符串进行过滤?

3个回答

17

3
这个说明符使用Python字符串格式化语法,但是前导的“%”被省略了。 - Andrei
请注意,stringformat".3f"之间的缺少空格非常重要!如果有空格,则会崩溃并出现“stringformat需要2个参数,但只提供了1个”异常! - The Godfather

3

0

我忘记加上“%”符号:

    {{ variable|stringformat:".3f" }} 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接