【问题标题】:How do you mark strings as "Safe" in a view (or the template) in Jinja2?如何在 Jinja2 的视图(或模板)中将字符串标记为“安全”?
【发布时间】:2010-11-19 04:10:06
【问题描述】:

通常,当您想在 Jinja2 中将字符串输出标记为安全时,您可以执行以下操作:

{{ output_string|safe() }}

但是,如果 output_string 总是 安全呢?我不想每次都使用安全过滤器重复自己。

我有一个名为“emailize”的自定义过滤器,它为电子邮件中的输出准备 URL。 &符号似乎总是被逃脱。我的自定义过滤器中有没有办法将输出标记为安全?

【问题讨论】:

    标签: django django-templates jinja2


    【解决方案1】:

    检查SafeString,例如:

    from django.utils.safestring import SafeString
    ...
    return context.update({
            'html_string': SafeString(html_string),
    })
    

    【讨论】:

      【解决方案2】:

      使用Markup 类:

      class jinja2.Markup([string])

      将字符串标记为可以安全地包含在 HTML/XML 输出中而无需转义。

      【讨论】:

        猜你喜欢
        • 2010-12-21
        • 1970-01-01
        • 1970-01-01
        • 2016-09-13
        • 1970-01-01
        • 1970-01-01
        • 2017-06-07
        • 1970-01-01
        • 2020-07-19
        相关资源
        最近更新 更多