django admin 添加富文本编辑器 django-ckeditor

安装

pip install django-ckeditor

settings配置

在settings文件其中加入下面两个应用:

INSTALLED_APPS = [ 
    ……
    'ckeditor',  
    'ckeditor_uploader'
    ……
  ]

在media路径配置好的前提下,设置ckeditor的上传路径,按如下配置,使用ckeditor上传的图片就会存放在media下的ckeditor文件夹中。

笔者使用阿里云oss,未做其他修改,实测图片上传到oss下ckeditor文件夹。

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media_cdn')
CKEDITOR_UPLOAD_PATH = 'ckeditor/'

urls配置

需要上传图片,需要为ckeditor设置url,在项目目录下urls.py文件中添加:

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

在models中使用ckeditor编辑器

需要在django admin中使用ckeditor编辑器时,在需要的应用的model中,按如下方式使用:

……
from ckeditor_uploader.fields import RichTextUploadingField

class Post(models.Model):
    ……
    content = RichTextUploadingField(null=True, blank=True)
    ……

执行迁移

执行应用的makemigrations and migrate后,在后台就能使用了。
效果下图:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Index