代码之家  ›  专栏  ›  技术社区  ›  Jim

是否可以在AppEngine模板中对输出进行html编码?

  •  0
  • Jim  · 技术社区  · 16 年前

    因此,我正在传递一个具有包含html的“content”属性的对象。

    <div>{{ myobject.content }}</div>
    

    我希望能够输出内容,以便将字符呈现为html字符。

    “conent”的内容可能是:<p>你好</p>

    我希望此文件以以下形式发送到浏览器:&amplt;宝洁;ampgt;您好!;amplt/宝洁;燃气轮机;

    有什么东西我可以放在我的模板中自动完成吗?

    2 回复  |  直到 16 年前
        1
  •  4
  •   Alex Martelli    16 年前

    {{ myobject.content | escape }} 应该有帮助(假设你指的是Django模板——没有特定的“应用程序引擎”模板系统,GAE应用程序通常使用Django模板系统);您可能需要重复上述步骤 | escape 如果您想要两个级别的转义(在您提供的一些示例中,而不是所有示例中,情况似乎都是这样),请选择part。

        2
  •  2
  •   Community CDub    8 年前

    这是Django的Django.utils.html.escape函数:

    def escape(html):
        """Returns the given HTML with ampersands, quotes and carets encoded."""
        return mark_safe(force_unicode(html).replace('&', '&amp;').replace('<', '&l
    t;').replace('>', '&gt;').replace('"', '&quot;').replace("'", '&#39;'))
    

    here .