我目前有一个包含字符串HTML的变量,类似于
myvar = "<p style="-qt-block-indent: 0; text-indent: 0px; margin: 18px 0px 12px 0px;"><span style="font-size: xx-large; font-weight: 600; color: #5e9ca0;"> ..."
我将此字符串传递给我的模板
return render(request, "rendered.html", {
'result': myvar,
})
在模板中,我只是在做
{{myvar}}
这会在屏幕上显示确切的html为文本但未呈现。当我调查来源时,这就是我得到的
<p style="-qt-block-indent: 0; text-indent: 0px; margin: 18px 0px 12px 0px;"><span style ...
虽然我想要获得
<p style="-qt-block-indent: 0; text-indent: 0px; margin: 18px 0px 12px 0px;"><span style="font-size: xx-large; font-weight: 600; color: #5e9ca0;">
有关如何解决此问题的任何解决方案?
答案 0 :(得分:2)
发生了什么事?
Django默认情况下是逃避你的html认为它可能有害,因此默认情况下会逃避它。
因为你不需要逃避它。在autoescape过滤器中包装变量
{% autoescape off %}
{{ myvar}}
{% endautoescape %}