在django中配置富文本编辑器(转)

目录

第一步 安装富文本编辑器

第二步 注册富文本编辑器

第三步 设置模型

第四步 数据库迁移

配置富文本编辑器

在前端中展示使用到富文本编辑器的数据

在管理员页面之外中使用富文本编辑器


第一步 安装富文本编辑器

pip install django-ckeditor

第二步 注册富文本编辑器

在settings.py文件中的INSTALLED_APPS中进行添加ckeditor。

INSTALLED_APPS = [
    ......
    'ckeditor',  # 富文本编辑器
    ......
]

第三步 设置模型

在需要使用富文本编辑器的字段中,使用django-ckeditor库自己的富文本字段RichTextField

from ckeditor.fields import RichTextField

class Tie_zi(models.Model):
    data = RichTextField()

第四步 数据库迁移

命令与平时一样,这里就不再写了

配置富文本编辑器

默认情况下,直接使用富文本编辑器是带有全部功能的,我们也可以根据需求对富文本编辑器的功能进行自定义的操作。

ckeditor允许你在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']),
    }
}

一般情况下使用默认即可,如果有特殊需求,也可以查看下面官方文档链接

Django CKEditor — Django CKEditor 5.3.1 文档 (django-ckeditor.readthedocs.io)https://django-ckeditor.readthedocs.io/en/latest/#plugins

在前端中展示使用到富文本编辑器的数据

与普通的数据展示方法一样,使用模板语法插入字段名即可。值得注意的是,富文本是以类似HTML的方式进行存储的,使用在使用后还需要加上safe过滤器进行转义即可正常输出

在管理员页面之外中使用富文本编辑器

在管理面板外部呈现表单时,必须确保所有表单媒体都存在,以便编辑器正常工作。实现这一目标的一种方法是这样的:

<form>
    {{ myform.media }}
    {{ myform.as_p }}
    <input type="submit"/>
</form>

 模板中myform表示的是使用django中的表单系统所生成的实例。写上这两个模板后会自动生成表单实例中的表单数据,其中使用到富文本编辑器的字段名则会使用富文本编辑器进行编辑。

或者,你也可以手动加载媒体,如下:

{% load static %}
<script type="text/javascript" src="{% static "ckeditor/ckeditor-init.js" %}"></script>
<script type="text/javascript" src="{% static "ckeditor/ckeditor/ckeditor.js" %}"></script>

这两个js文件安装django-ckeditor会存在,按照上面的路径导入即可。但是这种方法不能自动生成表单,还是需要在HTML中一个个的使用模板语法插入表单实例。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HHYZBC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值