注:pycharm Django2.0 CKEditor4
一.CKEditor引入
1 1.CKEditor引入(下载的ckeditor包直接粘贴到static内)
2 <script type="text/javascript" class="lazy" data-src="/static/ckeditor/ckeditor.js"></script>
3 <script type="text/javascript" class="lazy" data-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))