1. 关于CKEditor的简体中文语言设置:
后台管理打开显示的是繁体中文:
image.png
检查后发现原因在于CKEditor会使用settings.py
文件中的语言设置。
而我们settings.py
中设置的LANGUAGE_CODE = 'zh-hans'
简体中文,这是因为Django2文件夹中没有zh-cn
文件夹,简体中文是zh_Hans
文件夹
直接设置
LANGUAGE_CODE = ‘zh-cn’
会导致异常。但是这样设置又会导致ckeditor找不到名为zh-Hans.js
的语言文件,当找不到文件时,CKEditor会找到第一个名称包含zh
的js文件去调用。而zh.js
中是繁体字。image.png
zh-cn.js
为简体字:image.png
解决方案:
- 将ckeditor语言文件名称,将
zh.js
内容替换成了zh-cn.js
中的简体内容。
ckeditor语言文件所在路径:
image.png
即安装的虚拟环境下。
设置Django中
LANGUAGE_CODE = 'zh-hans'# 改为简体中文,主要针对admin页面
2.富文本编辑内容,前端显示html代码:
因为我们在富文本里面编辑内容,在数据库中插入的是待html代码的样式
image.png
如果直接获取不处理的话,就会显示:
image.png
所以我们需要在显示的时候处理下,使其正常显示:
image.png
原因分析:
在文章详情页没有看到预期的效果,而是类似于一堆乱码一样的 HTML 标签,这些标签本应该在浏览器显示它本身的格式,但是 Django 出于安全方面的考虑,任何的 HTML 代码在 Django 的模板中都会被转义(即显示原始的 HTML 代码,而不是经浏览器渲染后的格式)。
解决:
方案1:为了解除转义,只需在模板标签使用 safe 过滤器即可,告诉 Django,这段文本是安全的,你什么也不用做。在模板中找到展示博客文章主体的 {{ article.content}}
部分,为其加上 safe 过滤器, {{ article.content|safe }}
即可,这下看到预期效果了。
方案2:
{% autoescape off %}
{{course.describe}}
{% endautoescape %}
采用方案1方便点。
#######3.代码高亮
参照:http://www.aaron-zhao.com/post/1/
重点是引入js和css文件
网友评论