1. 在项目目录下新建一个 ‘uploads’文件夹以保存上传的文件
  2. 配置setting.py文件
    MEDIA_URL = '/uploads/'
    
    MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')  #设置上传的绝对路径
  3. 配置urls.py文件,设置路由
    from django.conf.urls import url,include
    from django.contrib import admin
    from django.conf import settings urlpatterns = [
    url(r'^uploads/(?P<path>.*)$',\
    'django.views.static.serve', \
    {'document_root': settings.MEDIA_ROOT,}),
    url(r'^admin/', admin.site.urls),
    url(r'^todolist/',include('todolist.urls')),
    ]
  4. 为富文本编辑器设置上传文件
    1. 在APP目录下创建配置文件‘upload.py’

      # -*- coding: utf-8 -*-
      from django.http import HttpResponse
      from django.conf import settings
      from django.views.decorators.csrf import csrf_exempt
      import os
      import uuid
      import json
      import datetime as dt @csrf_exempt
      def upload_image(request, dir_name):
      ##################
      # kindeditor图片上传返回数据格式说明:
      # {"error": 1, "message": "出错信息"}
      # {"error": 0, "url": "图片地址"}
      ##################
      result = {"error": 1, "message": "上传出错"}
      files = request.FILES.get("imgFile", None)
      if files:
      result =image_upload(files, dir_name)
      return HttpResponse(json.dumps(result), content_type="application/json") #目录创建
      def upload_generation_dir(dir_name):
      today = dt.datetime.today()
      dir_name = dir_name + '/%d/%d/' %(today.year,today.month)
      if not os.path.exists(settings.MEDIA_ROOT + dir_name):
      os.makedirs(settings.MEDIA_ROOT + dir_name)
      return dir_name # 图片上传
      def image_upload(files, dir_name):
      #允许上传文件类型
      allow_suffix =['jpg', 'png', 'jpeg', 'gif', 'bmp']
      file_suffix = files.name.split(".")[-1]
      if file_suffix not in allow_suffix:
      return {"error": 1, "message": "图片格式不正确"}
      relative_path_file = upload_generation_dir(dir_name)
      path=os.path.join(settings.MEDIA_ROOT, relative_path_file)
      if not os.path.exists(path): #如果目录不存在创建目录
      os.makedirs(path)
      file_name=str(uuid.uuid1())+"."+file_suffix
      path_file=os.path.join(path, file_name)
      file_url = settings.MEDIA_URL + relative_path_file + file_name
      open(path_file, 'wb').write(files.file.read())
      return {"error": 0, "url": file_url}
    2. 为富文本编辑器设置路由。urls.py
      from django.conf.urls import url
      from django.contrib import admin
      from blog.views import index
      from django.conf import settings
      from blog.upload import upload_image urlpatterns = [
      url(r'^uploads/(?P<path>.*)$',\
      'django.views.static.serve',\
      {'document_root': settings.MEDIA_ROOT,}),
      url(r'^admin/upload/(?P<dir_name>[^/]+)$', upload_image, name='upload_image'),
      url(r'^admin/', admin.site.urls),
      url(r'^$', index, name='index')
      ]
    3. 配置KindEditor,在config.js文件中
      KindEditor.ready(function(K) {
      K.create('textarea[name="content"]', {
      width : "800px",
      height : "200px",
      uploadJson: '/admin/upload/kindeditor',
      });
      });

最新文章

  1. eclipse新建web项目开发JSP
  2. C#中的Lambda表达式的演化过程
  3. opacity_不透明度 cursor_鼠标形状
  4. 使用get方式提交数据
  5. Javascript 绝对定位和相对定位
  6. 利用 jQuery-photoClip插件 实现移动端裁剪功能并以Blob对象上传
  7. java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream(转)
  8. python——迭代器和生成器
  9. 数据库 MySQL基础知识
  10. Redux:从action到saga
  11. Beta开始前准备
  12. NAT详解:基本原理、穿越技术(P2P打洞)、端口老化等
  13. “教你如何玩转Web响应式布局” 的更多相关文章
  14. opencv中imread第二个参数的意义
  15. 多线程系列(1)多线程基础和Thread
  16. C/C++ -- Gui编程 -- Qt库的使用 -- 组件大杂烩
  17. 基于bootstrup treeview多级列表树插件
  18. read pread write pwrite open
  19. 使用SQL查询所有数据库名和表名
  20. Django视图层详细介绍

热门文章

  1. ie6下面不支持!important的处理方法
  2. 从设计图到CSS:rem+viewport+媒体查询+Sass
  3. windows下tomcat在当前窗口运行,不在新弹出的窗口运行
  4. io流中比较特殊的流-java
  5. telent
  6. 升级PIP源
  7. Word截图PNG,并压缩图片大小
  8. AC日记——背单词 洛谷 P2353
  9. echarts官网上的动态加载数据bug被我解决。咳咳/。
  10. Nodejs项目重复文件扫描