在代码中使用 django 内置过滤器(在模板之外)
Posted
技术标签:
【中文标题】在代码中使用 django 内置过滤器(在模板之外)【英文标题】:use a django built in filter in code (outside of a template) 【发布时间】:2011-07-31 21:24:29 【问题描述】:我在 python 中格式化一个字符串,我想使用一个 django 的内置过滤器,它通常在模板中使用。有没有简单的方法在代码行中使用它?
【问题讨论】:
【参考方案1】:取决于过滤器。在某些情况下,您可以导入包含过滤器的模块并访问模块中的辅助函数,但在其他情况下,您不会那么幸运。有关详细信息,请参阅过滤器源。
【讨论】:
谢谢,过滤器实际上使用了另一个我可以导入的 django 实用方法【参考方案2】:一般来说,是的。例如,如果您的过滤器位于 django.template.defaultfilters 中,您可以运行:
from django.template.defaultfilters import slugify
slugify('what is that smell')
【讨论】:
【参考方案3】:不要在模板中使用这个:
text | linebreaks
我用它来实现换行过滤器:
from django.template.defaultfilters import linebreaks
text = "some text \n next line"
text = linebreaks(text)
给予:
<p>some text <br /> new line</p>
【讨论】:
以上是关于在代码中使用 django 内置过滤器(在模板之外)的主要内容,如果未能解决你的问题,请参考以下文章