Django CKEdirtor配置(图片上传,粘贴,文件上传)

注:pycharm Django2.0  CKEditor4

一.CKEditor引入

1     1.CKEditor引入(下载的ckeditor包直接粘贴到static内)
2     <script  type="text/javascript" src="/static/ckeditor/ckeditor.js"></script>
3     <script  type="text/javascript" src="/static/ckeditor/config.js"></script>
4     2.下为CKEditor生效的标签(还有另外几种方式就不赘述了)
5     <textarea class="ckeditor" name="editor1" > </textarea>
6     注:如上刷新页面编辑器应该已经生效了

二.

如pycharm在打开的时候报错

ESLint:Please specify ESLint .......

需要安装下 Node.js 和 ESLint(网上有资料) 并在setting 配置下

三.

1     如果是第一次应用富文本需要设置下media文件用来存放上传数据
2     在setting  文件在下面添加
3         MEDIA_ROOT=os.path.join(BASE_DIR,"App01","media")
4         MEDIA_URL="/media/"
5     在主url添加
6         url('media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}),

四.
上传函数应用局部禁用csrf
 1 from django.views.decorators.csrf import csrf_exempt 2 在函数上添加@csrf_exempt 

五.
下面需要在ckeditor包下config.js设置

 1 CKEDITOR.editorConfig = function( config ) {
 2 // Define changes to default configuration here. For example:
 3 //config.language = 'zh-cn';//更改为中文
 4 // config.uiColor = '#AADC6E';
 5 config.width = 790.5;
 6 config.height = 400;
 7 config.filebrowserImageUploadUrl = '/itbg/bgimg.html/'; // 图片上传路径
 8 config.uploadUrl='/itbg/bgimg.html/';
 9 //图片粘贴(上行只是支持编辑器的“图像”上传。这行可以直接桌面拖拽图片和从word复制多张图片到编辑器)
10 config.filebrowserUploadUrl='/itbg/bgimg.html/'
11 //附件上传(如需要上传附件如.zip .pdf)会在“插入/编辑超链接”出现“上传”栏(默认是木有的)
12 };
13 注:如发现上面都不生效可以尝试清下浏览器缓存。

六.视图处理

 1     views部分
 2     现在创先在项目目录创建文件如:\media\upload\img
 3     def imgdata(request):
 4     imgfile = request.FILES.get("upload")#拿到文件对象
 5     img_path = os.path.join(文件路径\media\upload\img',imgfile.name)#拼接生成上传文件的路径
 6     #chunks向上面生成的路径保存数据
 7     with open(img_path,'wb')as f:
 8     for chunk in imgfile.chunks():
 9         f.write(chunk)
10     #回显数据
11     response={
12         "uploaded":1,
13         "fileName": imgfile.name,
14         "url": '/media/upload/img/'+imgfile.name
15     }
16     return HttpResponse(json.dumps(response))

 

posted @ 2018-12-20 18:22  James_23  阅读(1123)  评论(0编辑  收藏  举报