以下内容转自以下链接,我是为了以后方便查找所以进行了保存
在安装django-ckeditor库的前提下
目录
第1步 安装pillow库
pip install pillow
第2步 注册ckeditor_uploader应用
INSTALLED_APPS = [
......
'ckeditor', # 富文本编辑器
"ckeditor_uploader", # 图片上传注册
]
第三步 设置媒体资源目录
使用上传功能需要设置上传位置,该文件一般是上传到media目录中,所以在设置前还需要在项目根目录下创建该目录。
media目录下是
存放用户上传的景点图片等资源,这些资源文件变动频率较高,因此与静态资源区分不同的存储路径。
在settings.py文件中进行以下设置
# ckeditor上传图片配置项,设置媒体资源的保存路径
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
第四步 设置图片上传路径
也是在settings.py文件中进行以下设置
CKEDITOR_UPLOAD_PATH = "upload" # 设置上传路径
设置完后使用django ckeditor上传的图片等文件都会在media/upload找到
第5步 配置上传url
在全局的urls.py文件中加入添加以下:
path('ckeditor/', include('ckeditor_uploader.urls')), # 此行是新增的
第6步 配置media的访问
由于上传的图片都在media目录中,而不是在static目录中,所以还需要在全局的urls.py文件中设置media可被访问
from django.conf.urls.static import static # 此行是新增
from django.conf import settings # 此行是新增
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
所以添加完后的全局urls.py文件是以下的的样子
第七步 修改models
最开始的RichTextField
字段是不支持上传文件的富文本字段,所以还需要将该字段修改为RichTextUploadingField
字段。在使用前需要输入以下代码进行导入
ckeditor_uploader.fields.RichTextUploadingField # 导入字段
此时该字段应为
nei_ro = RichTextUploadingField(verbose_name='内容')
第八步 刷新后台查看情况
点击图片后出生上传的选项则表示已经设置成功了