在建站的过程中,我给网站后台加了django-ckeditor,以便上传文章。
在所有的步骤都安装好后,上传文章进行测试,发现在前端页面中的文章自动添加了各种标签,就像下面这样直接暴露在页面:
<p>探探引流脚本2</p>
<p><strong>探探引流脚本2</strong></p>
这些标签本来是ckeditor自动添加用来显示效果的,结果变成了文本来显示。
经过各种测试查阅,发现Django 会自动对views.py 传到HTML文件中的标签语法进行转义,令其语义失效,这样就导致ckeditor自动添加的标签失效。
所以应该让Django认为文本是安全的,不进行转义。所以应该对传入的文本添加过滤器,使用safe属性。
注:safe属性指将字符串标记为安全,不需要转义。
解决办法:对文本添加过滤添加safe属性,如下:
{{text|safe}}