在 django 模板中使用 python 字符串格式化
Posted
技术标签:
【中文标题】在 django 模板中使用 python 字符串格式化【英文标题】:Using python string formatting in a django template 【发布时间】:2011-08-03 09:46:25 【问题描述】:有没有一种简单的方法可以?也就是说,我希望能够在模板中做这样的事情
variable|%.3f
我知道在这种情况下,可以使用
variable|floatformat:3
但我真的很希望能够在 django 变量上通用地使用任何 python 字符串格式。在我的系统中,必须处理两种不同的输出格式(python vs django)是不方便的,所以我想标准化。我可以编写一个自定义模板标签,例如
% pyformat variable format="%.3f" %
或者可能是自定义模板过滤器,例如
variable|pyformat:"%.3f"
其中任何一个已经存在吗?客户过滤器会处理这样传入的字符串吗?
【问题讨论】:
【参考方案1】:stringformat
【讨论】:
【参考方案2】: variable|stringformat:".3f"
来源:http://docs.djangoproject.com/en/dev/ref/templates/builtins/#stringformat
【讨论】:
"此说明符使用 Python 字符串格式化语法,但前导 "%" 被删除" 注意stringformat
和".3f"
之间没有空格很重要!如果有空间,那么它会因“stringformat required 2 arguments, 1 provided”异常而崩溃!【参考方案3】:
我省略了“%”:
variable|stringformat:".3f"
【讨论】:
以上是关于在 django 模板中使用 python 字符串格式化的主要内容,如果未能解决你的问题,请参考以下文章
使用标记将 python 字符串插入 Django 模板上下文