django-ckeditor富文本使用
发布时间:2023-04-24
浏览量: 186
文章分类: python
Django Admin界面使用富文本
废话不多说,先上官网文档,基本什么都能在这里找得到。
先说背景:
如果你只是想在django
的admin
后台增加一个富文本编辑框,能满足简单的基本使用,那你可以看。如果你是要做一些复杂的功能,比如图片媒体上传、编辑器二次开发等,建议直接搞到前端项目中,别这么搞了。我们的目的只是想简单几分钟能让django
的admin
后台支持富文本编辑而已,不至于打字出去都一大堆。
安装
pip install django-ckeditor
注册
INSTALLED_APPS = [
...
'ckeditor', # 注册
...
]
使用
还是很简单的。
在models.py
按照下面的方式来就可以了。
from django.db import models
from ckeditor.fields import RichTextField
class Article(models.Model):
title = models.CharField(max_length=30, verbose_name='标题')
# 富文本
content = RichTextField(verbose_name='正文')
# 原模式
# content = models.TextField(verbose_name='正文')
配置调整
其实完成上面的步骤后,正常更新数据库后,我们的后台已经是富文本了。不过有一些功能是不需要的,所以还可以在settings.py
里面进行一下配置。(完整的配置你可以去上面我发的官方文档中查阅)
CKEDITOR_CONFIGS = {
# django-ckeditor默认使用default配置
'default': {
# 编辑器宽度自适应
'width': 'auto',
'height': '250px',
# tab键转换空格数
'tabSpaces': 4,
# 工具栏风格
'toolbar': 'Custom',
# 工具栏按钮
'toolbar_Custom': [
# 表情 代码块
['Smiley', 'CodeSnippet'],
# 字体风格
['Bold', 'Italic', 'Underline', 'RemoveFormat', 'Blockquote'],
# 字体颜色
['TextColor', 'BGColor'],
# 链接
['Link', 'Unlink'],
# 列表
['NumberedList', 'BulletedList'],
# 最大化
['Maximize']
],
# 加入代码块插件
'extraPlugins': ','.join(['codesnippet']),
}
}
展示
与普通的数据展示方法一样,使用模板语法插入字段名即可。值得注意的是,富文本是以类似HTML的方式进行存储的,使用在使用后还需要加上safe过滤器进行转义即可正常输出