django 页面编辑使用ueditor,内容无法回显html(html标签显示出来)

 Pala   2018-09-17 16:08   94 人阅读  0 条评论

背景:

django==2.1.1

问题:

django 页面编辑使用ueditor,内容无法回显html(html标签显示出来)

相关代码:

change.html

<script id="container" name="content" type="text/plain">{{ form.content.value }}</script>#}

<script type="text/javascript">
    var ue = UE.getEditor('container', {
        initialFrameHeight: 450,
    });
    var content = ue.getContent();

</script>

问题原因:

  1.   这不是ueditor的问题,是django在后端自动把数据处理过,为了防止攻击,自动转义了从数据库获取的数据。

什么是转义?就是把html语言的关键字过滤掉。例如,<div>就是html的关键字,如果要在html页面上呈现<div>,其源代码就必须是&lt;div&gt; 

默认情况下,django自动为开发者提供escape功能,即在html代码render之前,先进行转义,然后再呈现出来。这样的话,我们如果想输出一个链接,被转义之后,可能就无法得到我们想要的结果。 

解决办法:

使用{% autoescape off %}解决

{% autoescape off %}<a href='http://www.chenxm.cc'>python博客</a>{% endautoescape %}


本文地址:http://chenxm.cc/post/709.html
版权声明:本文为原创文章,版权归 Pala 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?