在代码中使用内置过滤器的django(在模板之外)

时间:2011-04-07 17:10:37

标签: django filtering

我在python中格式化一个字符串,我想使用django的内置过滤器之一,通常在模板中使用。有没有一种简单的方法可以在代码行中使用它?

3 个答案:

答案 0 :(得分:30)

一般来说,是的。例如,如果您的过滤器位于django.template.defaultfilters,则可以运行:

from django.template.defaultfilters import slugify
slugify('what is that smell')

答案 1 :(得分:3)

取决于过滤器。在某些情况下,您可以导入包含过滤器的模块并访问模块中的辅助函数,但在其他情况下,您将不会那么幸运。有关详细信息,请参阅过滤器源。

答案 2 :(得分:1)

而不是在模板中使用它:

{{text | linebreaks}}

我用它来实现换行过滤器:

from django.template.defaultfilters import linebreaks
text = "some text \n next line"
text = linebreaks(text)

给出:

<p>some text <br /> new line</p>