【问题标题】:How to escape or unscape this sequence?如何转义或取消转义这个序列?
【发布时间】:2011-11-19 13:34:59
【问题描述】:

您好,我应该如何转义以使链接呈现?

我现在写它的方式是使用过滤器: {{article.text|striptags|urlize|nl2br|safe}}

你能推荐一下怎么做吗?

相关问题:https://stackoverflow.com/questions/8179801/autolinebreaks-filter-in-jinja2

谢谢

【问题讨论】:

  • 好吧,如果您希望将 HTML 标记解释为 HTML 标记,则根本不要转义它。
  • 但是{{article.text|striptags|urlize|nl2br}}和转义的输出渲染切换没有区别?

标签: python google-app-engine escaping jinja2


【解决方案1】:

通常我想使用HTMLParser 进行处理(可能有点矫枉过正?),下面是 Python 2.7 的示例代码(3.0 库重命名为 html.parser

from HTMLParser import HTMLParser

class MyHTMLParser(HTMLParser):
    def handle_starttag(self, tag, attrs):
        print "Found Start Tag", attrs

s = "noivos, convites de casamento <a href=\"http://www.olharcaricato.com.br\">
        http://www.olharcaricato.com.br</a> more entries here"

parser = MyHTMLParser()
parser.feed(s)

输出:Found Start Tag [('href', 'http://www.olharcaricato.com.br')]

注意:将上面的代码实现为过滤器,根据需要调整输出。过滤器示例位于Custom jinja2 filter for iterator

【讨论】:

  • 很酷的解决方案!谢谢你,正如你所说,当我现在真正需要的只是将\n替换为&lt;br&gt;
猜你喜欢
  • 2021-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-31
  • 2019-01-21
  • 2019-03-02
  • 1970-01-01
  • 2010-10-14
相关资源
最近更新 更多