django整合ueditor富文本编辑器并解决图片视频等无法上传显示问题
2017-03-01 17:33
239 查看
一般django后台的文本编辑器比较简单,所以增加ueditor编辑器。
ueditor编辑是百度开发开源产品,官网没django版本。
django版本下载地址 https://github.com/zhangfisher/DjangoUeditor/archive/master.zip
解压后将 DjangoUeditor 文件夹复制到django项目目录下,跟app目录同级
开始修改 :
url.py文件
导入 from DjangoUeditor import urls as DjangoUeditor_urls
增加路由 url(r'^ueditor/', include(DjangoUeditor_urls))
models 文件
导入 from DjangoUeditor.models import UEditorField
对于需要使用编辑器的子段定义
context = UEditorField('内容',height=300, width=1000, default='', blank=True,imagePath="news", toolbars='full', filePath='files')
其中定义了文本框的大小和字段默认值,imagePath 和filePath 定义图片,视频和文件上传的路径 (相对于 settings.MEDIA_ROOT)
toolbars 定义功能的显示复杂度 一般有 mini,besttome,nomal,full 等选项,具体在DjangoUeditor.settings中设置
这样就初步可以使用了
但是图片和视频等上传还是不行,上传失败 ,原因是因为上传图片时open的是个路径,当传视频就可以了
这个就需要修改文件DjangoUeditor.views 文件 修改函数save_upload_file 大概在38行左右
直接修改成这样,根据上传的action进行不同的操作
还是修改DjangoUeditor.views 文件 ,大约在258行,需要重新拼接下返回的图片路径,重新修改 return_info 字典,修改为这样,还是通过上传操作重新定义返回的url
这下子就ok了,能够上传图片,视频,文件了,也能基本使用了。不过还有一些比如涂鸦什么的那些由于也用不到,咱未研究。
ok可以使用。
ueditor编辑是百度开发开源产品,官网没django版本。
django版本下载地址 https://github.com/zhangfisher/DjangoUeditor/archive/master.zip
解压后将 DjangoUeditor 文件夹复制到django项目目录下,跟app目录同级
开始修改 :
url.py文件
导入 from DjangoUeditor import urls as DjangoUeditor_urls
增加路由 url(r'^ueditor/', include(DjangoUeditor_urls))
models 文件
导入 from DjangoUeditor.models import UEditorField
对于需要使用编辑器的子段定义
context = UEditorField('内容',height=300, width=1000, default='', blank=True,imagePath="news", toolbars='full', filePath='files')
其中定义了文本框的大小和字段默认值,imagePath 和filePath 定义图片,视频和文件上传的路径 (相对于 settings.MEDIA_ROOT)
toolbars 定义功能的显示复杂度 一般有 mini,besttome,nomal,full 等选项,具体在DjangoUeditor.settings中设置
这样就初步可以使用了
但是图片和视频等上传还是不行,上传失败 ,原因是因为上传图片时open的是个路径,当传视频就可以了
这个就需要修改文件DjangoUeditor.views 文件 修改函数save_upload_file 大概在38行左右
直接修改成这样,根据上传的action进行不同的操作
点击(此处)折叠或打开
-
def save_upload_file(PostFile,FilePath,action):
-
-
if action == 'uploadfile':
-
FilePathWrite = FilePath+'/'+str(PostFile)
-
elif action == 'uploadimage':
-
FilePathWrite = FilePath+'/'+str(PostFile)
-
#elif action == 'uploadvideo':
-
# FilePathWrite = videofile(FilePath,'/video/')
-
else:
-
FilePathWrite = FilePath
-
-
try:
-
f = open(FilePathWrite, 'wb')
-
for chunk in PostFile.chunks():
-
f.write(chunk)
-
except Exception as E:
-
f.close()
-
return u"写入文件错误:"+ E.message
-
f.close()
- return u"SUCCESS"
还是修改DjangoUeditor.views 文件 ,大约在258行,需要重新拼接下返回的图片路径,重新修改 return_info 字典,修改为这样,还是通过上传操作重新定义返回的url
点击(此处)折叠或打开
- import urllib
-
if action == 'uploadvideo':
-
url = urllib.basejoin(USettings.gSettings.MEDIA_URL, OutputPathFormat)
-
else:
-
url = urllib.basejoin(USettings.gSettings.MEDIA_URL, OutputPathFormat) + '/' + upload_file_name
-
-
return_info = {
-
'url': url, # 保存后的文件名称
-
'original': upload_file_name, # 原始文件名
-
'type': upload_original_ext,
-
'state': state, # 上传状态,成功时返回SUCCESS,其他任何值将原样返回至图片上传框中
-
'size': upload_file_size
- }
这下子就ok了,能够上传图片,视频,文件了,也能基本使用了。不过还有一些比如涂鸦什么的那些由于也用不到,咱未研究。
ok可以使用。
相关文章推荐
- asp.net+FCKeditor上传图片显示叉叉图片无法显示的问题的解决方法
- 解决kindeditor与Struts2框架整合时无法上传本地图片的问题
- django2上传的图片打不开、图片不显示路径问题解决办法
- 【问题解决】使用Strust2文件上传图片无法显示
- 解决kindeditor与Struts2框架整合时无法上传本地图片的问题 (1)
- 手把手教你:解决django关于图片无法显示的问题
- django下video播放时间不能超过5s并且视频有时无法显示问题的解决方法
- 解决kindeditor与Struts2框架整合时无法上传本地图片的问题
- 解决kindeditor与Struts2框架整合时无法上传本地图片的问题
- asp.net+FCKeditor上传图片显示叉叉图片无法显示的问题的解决方法
- Django后台开发笔记①:关于DjangoUeditor与python3存在兼容性问题的解决方案(即解决图片无法上传问题)
- Django1.4上传图片无法在页面显示的问题
- 解决django关于图片无法显示的问题
- 解决kindeditor与Struts2框架整合时无法上传本地图片的问题 (2)
- django 整合 kindeditor ,解决上传图片 csrf 验证问题
- Wordpress 移动网站之后文件和图片无法显示的问题解决
- DZ6上传图片附件无法显示,解决方法
- 解决Word 2007无法显示图片的问题
- php上传图片到数据库与网页无法显示的问题
- Struts2整合JasperReport预览HTML格式不显示图片问题解决方案