【问题标题】:use a django built in filter in code (outside of a template)在代码中使用 django 内置过滤器(在模板之外)
【发布时间】:2011-07-31 21:24:29
【问题描述】:

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

【问题讨论】:

    标签: django filtering


    【解决方案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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-17
        • 2014-05-02
        • 2018-03-01
        • 2023-03-26
        • 2015-01-31
        • 2018-05-07
        • 2016-05-07
        • 2016-07-06
        相关资源
        最近更新 更多