我想在我自己的文本中允许 html 但该文本正在被转义

I want to allow html in my own text but that text is being escaped

我的 html 模板包含以下代码。

<a href="{{ url }}">{{ url_linktext }}</a>{{url_linktextmore}}

我的 Python 代码包含以下代码段。

class MainPage(webapp.RequestHandler):
    def get(self):
                        url_linktextmore = '  after you signin. <strong> You may have mispelled your group. </strong>'
                    template_values = {
                        'url': url,
                        'url_linktext': url_linktext,
                        'url_linktextmore': url_linktextmore,
                        }
                    path = os.path.join(os.path.dirname(__file__), 'place.html')
                    self.response.out.write(template.render(path, template_values))

我的问题是 strong 被自动模板系统转义(例如,< 被转换为 &lt;),我不知道如何保留粗体。这似乎适用于我的应用程序的早期版本,但现在不行了。

这可能与 "magic quotes" 有关,但我不知道如何关闭 "feature"。

布莱恩在亚特兰大

如果您使用的是 Jinja2 模板,您可以执行以下操作:

{{ url_linktext|safe }}

有关 Jinja2 HTML 转义,请参阅 this link

请注意,仅当您将 'autoescape' 扩展添加到您的 jinja2 环境时才需要 'safe' 过滤器。例如:

JINJA_ENVIRONMENT = jinja2.Environment(
    loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
    extensions=['jinja2.ext.autoescape'])

删除此扩展程序可能更适合您。