安装 django-ckeditor
1 使用 pip 安装
1 | pip install django-ckeditor |
2 注册到 django 项目中的 setting.py
在 INSTALLED_APPS
中加入 ‘ckeditor’
1 | INSTALLED_APPS = [ |
3 打开对应需要修改为富文本编辑的模型文件 models.py
。例如我有个Blog模型:
1 | from django.db import models |
其中,title
是博客标题,content
是博客内容。博客内容需要富文本编辑,则改成如下:
1 | from django.db import models |
若你需要编辑器的语言是简体中文,设置settings.py
的LANGUAGE_CODE = 'zh-hans'
。注意这里zh-hans
都是小写。我发现写zh-Hans
显示为繁体。另外,此时无法从本地上传图片,只能使用网络图片。可添加上传图片功能。
添加上传图片功能
1)安装pillow库
pillow库是图片处理库,上传图片需要该库。执行pip命令安装:
1 | pip install pillow |
2)注册ckeditor_uploader应用
django-ckeditor
将上传文件的功能迁移到ckeditor_uploader
应用中,所以需要注册该应用。同样打开settings.py
:
1 | INSTALLED_APPS = [ |
3)配置settings
使用上传功能,需要设置上传位置。该文件是上传到media
目录,所以也需要设置media。打开settings.py
添加如下设置:
1 | MEDIA_URL = '/media/' |
4)配置上传url和media的访问
上传功能需要有地址可以请求,需要需要提供上传的url。打开全局的urls.py,添加设置到urlpatterns中:
1 | path('ckeditor/', include('ckeditor_uploader.urls')), |
注意,这里我用的是django2.0。django1.x设置如下:
1 | url(r'^ckeditor/', include('ckeditor_uploader.urls')), |
另外,上传的图片是到media中,不是在static中。我们还需要设置media可被访问,如下设置可用于开发中使用,若部署到服务器可用服务器软件设置:
1 | from django.conf import settings |
5)修改model
上面的RichTextField不可用于上传文件,需要修改model如下:
1 | from django.db import models |
到这里,可以愉快使用富文本编辑功能。其它具体配置和说明可见pypi。