源码 https://github.com/django-ckeditor/django-ckeditor
通过pip安装。
pip3 install django-ckeditor
pip3 install Pillow
在settings.py的INSTALLED_APPS里添加ckeditor和ckeditor_uploader两个应用。
INSTALLED_APPS = (
#
'ckeditor',
'ckeditor_uploader'
)
同时需要在settings.py里设置ckeditor的文件上传路径(在此之前需要配置MEDIA_URL和MEDIA_ROOT)。
CKEDITOR_UPLOAD_PATH = "content"
然后在settings.py里进行ckeditor的相关配置。
CKEDITOR_CONFIGS = {
'default': {
'toolbar': 'Full',
},
}
接下来在urls.py里配置ckeditor相关的url。
urlpatterns = [
#
url(r'^ckeditor/', include('ckeditor_uploader.urls')),
]
最后修改需要使用富文本编辑器的Django APP的目录下的models.py。其中RichTextField拥有TextField的全部参数,还拥有其他的一些参数。
from ckeditor.fields import RichTextField
#
instructions = RichTextField() # 将需要使用富文本编辑器的字段改为RichTextField
这样就可以在相应Django APP的Admin界面中使用富文本编辑器编辑了。
当然上面配置ckeditor的CKEDITOR_CONFIGS时比较简单粗暴,其实可以看到这就是一个Python的dict,可以同时运用多种ckeditor的配置并命名。
CKEDITOR_CONFIGS = {
'awesome_ckeditor': {
'toolbar': 'Basic',
},
'default_ckeditor':{
'toolbar': 'Full',
},
}
当然这里也只是简单配置了一下toolbar,其他的一些配置可以看源码和文档。
这样在models.py中就可以通过RichTextField的config_name进行选择。
learn = RichTextField(config_name='default_ckeditor')
instructions = RichTextField(config_name='awesome_ckeditor')