Python 3.x 德扬戈。双引号字符串第二次双引号
我写了这个简单的标签:Python 3.x 德扬戈。双引号字符串第二次双引号,python-3.x,django-templates,Python 3.x,Django Templates,我写了这个简单的标签: @register.simple_tag(name='is_active', takes_context=True) def is_active(context, url_name): if reverse(url_name) == context.request.path: return 'class="active"' return '' 在模板中: <li {% is_active 'home_page' %}>
@register.simple_tag(name='is_active', takes_context=True)
def is_active(context, url_name):
if reverse(url_name) == context.request.path:
return 'class="active"'
return ''
在模板中:
<li {% is_active 'home_page' %}>
在开发服务器上,其呈现方式如下:
<li class="active">
但在带有UWSGI的生产服务器上,它使用重复的双引号呈现:
<li class=""active"">
UPD:Firebug渲染“为”。
实际上它看起来像:
<li class=""active"">
这是django测试服务器中的错误吗?
如何摆脱这种转换?来自django文档 与其他标记实用程序不同,如果模板上下文处于自动转义模式,simple_标记通过条件_escape()传递其输出,以确保正确的HTML并保护您免受XSS漏洞的攻击 如果不需要额外转义,如果您完全确定代码不包含XSS漏洞,则需要使用mark_safe()。对于生成小HTML片段,强烈建议使用format_HTML()而不是mark_safe() 代码: 这不是django中的错误,这是我的错误。我在django 1.8.7中进行了本地开发,但在服务器上django被更新为1.9.2
return format_html('class="active"')