django整合ueditor富文本编辑器并解决图片视频等无法上传显示问题-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 1637542
  • 博文数量: 63
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 646
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-26 18:02
个人简介

祸兮福之所倚,福兮祸之所伏

文章分类

全部博文(63)

文章存档

2020年(11)

2019年(10)

2017年(10)

2016年(25)

2015年(7)

我的朋友
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: python/ruby

2017-03-01 17:33:19

         一般django后台的文本编辑器比较简单,所以增加ueditor编辑器。
        ueditor编辑是百度开发开源产品,凯发k8官网下载客户端中心官网没django版本。
        django版本下载地址   
         解压后将 djangoueditor  文件夹复制到django项目目录下,跟app目录同级

        开始修改 :
               url.py文件  
                     
                      导入              from  djangoueditor  import  urls as  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进行不同的操作

点击(此处)折叠或打开

  1. def save_upload_file(postfile,filepath,action):

  2.     if action == 'uploadfile':
  3.         filepathwrite = filepath'/'str(postfile)
  4.     elif action == 'uploadimage':
  5.         filepathwrite = filepath'/'str(postfile)
  6.     #elif action == 'uploadvideo':
  7.     # filepathwrite = videofile(filepath,'/video/')
  8.     else:
  9.         filepathwrite = filepath

  10.     try:
  11.         f = open(filepathwrite, 'wb')
  12.         for chunk in postfile.chunks():
  13.             f.write(chunk)
  14.     except exception as e:
  15.         f.close()
  16.         return u"写入文件错误:" e.message
  17.     f.close()
  18.     return u"success"
               ok改完了发现,是可以上传了,对应的文件夹中也有上传图片,但是在对话框中却无法显示图片,对应的路径是错误的,这时候要修改另一个函数

    还是修改djangoueditor.views 文件 ,大约在258行,需要重新拼接下返回的图片路径,重新修改 return_info 字典,修改为这样,还是通过上传操作重新定义返回的url


点击(此处)折叠或打开

  1. import urllib
  2. if action == 'uploadvideo':
  3.             url = urllib.basejoin(usettings.gsettings.media_url, outputpathformat)
  4.         else:
  5.             url = urllib.basejoin(usettings.gsettings.media_url, outputpathformat) '/' upload_file_name

  6.         return_info = {
  7.             'url': url, # 保存后的文件名称
  8.             'original': upload_file_name, # 原始文件名
  9.             'type': upload_original_ext,
  10.             'state': state, # 上传状态,成功时返回success,其他任何值将原样返回至图片上传框中
  11.             'size': upload_file_size
  12.         }

这下子就ok了,能够上传图片,视频,文件了,也能基本使用了。不过还有一些比如涂鸦什么的那些由于也用不到,咱未研究。


ok可以使用。




阅读(11860) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图