从接收变量渲染模板中的html - Django模板渲染

时间:2016-10-10 03:04:16

标签: django templates

我目前有一个包含字符串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为文本但未呈现。当我调查来源时,这就是我得到的

 &lt;p style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 18px 0px 12px 0px;&quot;&gt;&lt;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;"> 

有关如何解决此问题的任何解决方案?

1 个答案:

答案 0 :(得分:2)

发生了什么事?

Django默认情况下是逃避你的html认为它可能有害,因此默认情况下会逃避它。

因为你不需要逃避它。在autoescape过滤器中包装变量

    {% autoescape off %}
    {{ myvar}}
    {% endautoescape %}