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

Python 我想在我自己的文本中允许html,但该文本正在转义,python,google-app-engine,html-escape-characters,Python,Google App Engine,Html Escape Characters,我的html模板包含以下代码 <a href="{{ url }}">{{ url_linktext }}</a>{{url_linktextmore}} {{url\u linktextmore} 我的Python代码包含以下代码段 class MainPage(webapp.RequestHandler): def get(self): url_linktextmore = ' after you sign

我的html模板包含以下代码

<a href="{{ url }}">{{ url_linktext }}</a>{{url_linktextmore}}
{{url\u 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))
类主页(webapp.RequestHandler): def get(自我): url_linktextmore='在您登录后您可能错卖了您的团队' 模板_值={ “url”:url, “url\u linktext”:url\u linktext, “url\u linktextmore”:url\u linktextmore, } path=os.path.join(os.path.dirname(_文件__),'place.html') self.response.out.write(template.render(路径、模板值)) 我的问题是自动模板系统正在转义
strong
(例如,<转换为
),我不知道如何保留粗体类型。这似乎适用于我的应用程序的早期版本,但仅此而已

这可能与“魔术语录”有关,但我不知道如何关闭“功能”


亚特兰大的Brian

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

{{ url_linktext|safe }}
有关Jinja2 HTML转义,请参阅

请注意,只有将“自动转义”扩展添加到jinja2环境中时,才需要“安全”筛选器。例如:

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

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

OP最好保持自动转义,因为在某些情况下,他可能不希望用户发布不安全的文本。按照您的建议,使用
保存
,不仅有助于我给出的示例,而且更重要的是修复了我刚刚注意到的验证码问题。