关于django2中实现富文本编辑和图片上传(ckeditor)

首先说说富文本编辑,有很多富文本编辑器可以用,我选择ckeditor,这是django自己的东西
首先就是安装ckeditor
使用强大的 pip大法pip install django-ckeditor
安装好了之后,我们先要将这个添加进我们的django app中关于django2中实现富文本编辑和图片上传(ckeditor)_第1张图片
之后我们需要修改models中的模型,ckeditor是根据字段信息来判断是否使用富文本的
我想要让我的正文实现富文本编辑,所以就是在content中使用
关于django2中实现富文本编辑和图片上传(ckeditor)_第2张图片
当然不要忘了在?引用ckeditor库
from ckeditor.fields import RichTextField()
在这个时候你就可以进入后台admin中查看你的正文了。

这里还有一个小问题,如果你希望可以实现图片上传功能,因为ckeditor的图片上传实在是太麻烦了,所以你就需要下载另外一个库来实现这个功能pillow
同样的配方同样的味道pip 之后就是在setting的app中添加
ckeditor_uploader
使用上传功能,需要设置上传位置。该文件是上传到media目录,所以也需要设置media。打开settings.py添加如下设置:
MEDIA_URL = '/media/'
放在django项目根目录,同时也需要创建media文件夹
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

CKEDITOR_UPLOAD_PATH = 'upload/'

上传需要有url地址,在全局url中设置:
path('ckeditor/', include('ckeditor_uploader.urls')),

另外,上传的图片是到media中,不是在static中。我们还需要设置media可被访问,如下设置可用于开发中使用,若部署到服务器可用服务器软件设置:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

最后在models中修改一下字段类型
关于django2中实现富文本编辑和图片上传(ckeditor)_第3张图片

参考:http://yshblog.com/blog/193

你可能感兴趣的:(django)