django admin 使用 ckeditor 富文本编辑器

2023-02-17 14:47:58 浏览数 (1)

开发环境

python 3.6.8

django 1.11

配置步骤

1. 安装 django-ckeditor 库 

pip install django-ckeditor

pip install pillow (上传图片到伺服器裁剪用,生成浏览伺服器的缩略图)

2. settings.py ( CKEDITOR_CONFIGS 里的 awesome_ckeditor 是给 model 里面的 config_name 用的 )

代码语言:javascript复制
INSTALLED_APPS = [
   
    'ckeditor',
    'ckeditor_uploader',
   
]
代码语言:javascript复制
# ckeditor
CKEDITOR_CONFIGS = {
    'awesome_ckeditor': {
        'toolbar': 'full',
    },
}

CKEDITOR_UPLOAD_PATH = 'ckeditor/'  # 他的目录相对与media root 就是 media root   CKEDITOR_UPLOAD_PATH 不能写成"/uploads
CKEDITOR_JQUERY_URL = '//cdn.bootcss.com/jquery/1.11.3/jquery.min.js'
CKEDITOR_IMAGE_BACKEND = 'pillow'

toolbar 自定义配置见:https://github.com/django-ckeditor/django-ckeditor

3. models.py(这里 config_name='awesome_ckeditor',要在 settings 里 CKEDITOR_CONFIGS 配置下找到该名称)

代码语言:javascript复制
# from ckeditor.fields import RichTextField  # 不包含上传文件
from ckeditor_uploader.fields import RichTextUploadingField  # 包含上传文件

class Article(models.Model):
    content = RichTextUploadingField(verbose_name="内容", config_name='awesome_ckeditor')

4. urls.py (项目的 urls)

代码语言:javascript复制
from django.conf.urls import url, include

urlpatterns = [
                  url(r'^ckeditor/', include('ckeditor_uploader.urls')),
              ]

5. 效果图

其他文档

1. ckeditor 配置参数文档:

  • https://blog.csdn.net/qq_38504396/article/details/79835475
  • https://www.bloghome.com.cn/post/fu-wen-ben-bian-ji-qi-ckeditor-pei-zhi-shi-yong.html
  • https://django-ckeditor.readthedocs.io/en/latest/

2. 前端代码高亮文档:

  • HTML highlight 代码前端高亮
  • html prism.js 代码前端高亮

配置总结

1. 要写出能带 pre 标签的代码块(使用富文本编辑器都是可以做到的)

2. 在前端渲染带 pre 标签的代码块(可以选择自己喜欢的第三方插件渲染)

0 人点赞