在settings设置上传路径


在一个app下设置url


没有 {% csrf_token %} 就会404,设置name= file在view.py 通过getlist(‘file’)来获取所有文件,而设置multiple可以上传多个文件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h1>上传文件</h1>
<form action="" method="post" enctype="multipart/form-data"><p>请选择你要上传的文件:<input type="file" name="file" multiple></p><p><input type="submit" value="上传" ></p>{% csrf_token %}
</form>
</body>
</html>

在view.py设置视图

from crm.settings import UPLOAD_ROOT # 导入路径
import os
def upload(request):if request.method == 'POST':files = request.FILES.getlist('file', None)for file in files:day_dir = datetime.now().strftime('%Y%m%d')pre_dir = os.path.join(UPLOAD_ROOT, day_dir)if not os.path.exists(pre_dir):os.mkdir(pre_dir)filename = os.path.join(pre_dir, file.name)with open(filename, 'wb') as f:for line in file.chunks():f.write(line)return HttpResponse('上传成功!')return render(request, 'teacher/upload.html')

因为文件是post请求,通过 request.FILES.getlist得到所有文件,如果没有就是返回空,对于文件有chunks方法,一点一点读入,如果大的文件不用卡死,




为了更好的理解,小白我debug一下


django简单实现文件上传相关推荐

  1. django 快速实现文件上传(django2.0)

    django2.0 快速实现文件上传 本操作环境: 虚拟环境:django2.0 python3.5(应该python3.6都可以使用) window10 1.创建项目与应用(项目和应用都是自己制定的 ...

  2. 简述php中文件上传过程,简单php文件上传详细说明

    关于文件上传我们讲了很多,这只是一款最基本的简单的文件上传功能,同时本教程也介绍了关于上传的原理以及各种函数的使用与file的参数说明,以及php.ihi设置上传文件大小配置等. 1  如果实现小文件 ...

  3. 使用jspsmartupload完成简单的文件上传系统

    请不要妄想,一个html的file控件,再加上JavaScript与jQuery语句就可以完成文件上传, 文件上传系统从来是需要配合服务器来完成的 用户把自己的文件上传到服务器上 文件上传系统是很复杂 ...

  4. 第三百一十九节,Django框架,文件上传

    第三百一十九节,Django框架,文件上传 1.自定义上传[推荐] 请求对象.FILES.get()获取上传文件的对象 上传对象.name获取上传文件名称 上传对象.chunks()获取上传数据包,字 ...

  5. 利用Socketserver实现简单的文件上传

    利用Socketserver实现简单的文件上传 server.py #!/usr/bin/env python #coding:utf-8 import SocketServer import os ...

  6. 项目Tips---使用阿里的OOS实现简单的文件上传

    简介 在还没有工作时,我们做项目时一般使用的Tomcat服务器作为文件上传和下载的存储点.可是作为上线项目这是行不通,所以为了解决海量数据存储与弹性扩容,阿里云给我们提供了一个OOS的对象存储平台. ...

  7. 树莓派3B+采用花生棒进行内网穿透,从拆箱到实现SSH远程控制与sftp简单远程文件上传下载

    树莓派3B+采用花生棒进行内网穿透,使用sftp实现远程控制与简单远程文件上传下载) 准备步骤 物理环境搭建 关于基础配置的博文推荐 树莓派联网配置 基础联网 配置静态ip 花生壳内网穿透 常用远程端 ...

  8. ASP.NET MVC实现简单的文件上传与下载

    使用ASP.NET MVC实现简单的文件上传与下载. 1.上传文件HTML <form action='@Url.Action("Upload", "File&qu ...

  9. Django实战之文件上传下载

    项目介绍 最近学习django,通过文件上传下载这个小项目,总结下常用的知识点. 做这个案例我有以下需求: 1.要支持一次上传多个文件 2.支持上传后记录上传的数据以及列表展示 3.支持下载和删除文件 ...

最新文章

  1. 微信端图片上传方式2
  2. 自考计算机和行政管理哪个好考,自考行政管理好考吗?自考行政管理都考哪些科目?...
  3. css 图文 上下 居中,CSS垂直居中的6种方法
  4. 4g ecgi 编码_4G学习之IMSI附着
  5. android 成长日记 8.Fragment学习之方法回调
  6. ChronicleMap –具有堆外内存的Java体系结构
  7. shrio 登陆后 还是失效_在 iPhone 上取消订阅后,应用或内容会立即失效吗?
  8. 学python编脚本_python 学习写脚本
  9. SQLServer组成:
  10. 在hbase 激活kerberos 下opentsdb的使用
  11. cobbler自动化系统安装
  12. 农业银行王敬东——金融科技时代商业银行战略模式选择初探
  13. 小米mini路由器刷breed不死鸟和潘多拉固件
  14. IOCCC大赛代码分析笔记
  15. atxserver2接入iOS设备
  16. 原子操作:CAS、TAS、TTAS、FAA浅析
  17. 微信小程序python token验证_微信小程序爬虫遇到 token 的问题
  18. 量化专业术语——转自BigQuant
  19. 传iPhone8将搭载裸眼3D技术
  20. 《2018中国区块链行业发展白皮书》发布

热门文章

  1. java报错误设置属性值_java – 设置属性值时出错;嵌套异常是org.springframework.beans.NotWritablePropertyException:...
  2. mysql读写分离_Mysql数据库09MySQL读写分离
  3. rust挖油机怎么整_挖掘机发动机进气管断裂该怎么办?
  4. php发送邮件smtp源码,php下使用SMTP发邮件的代码
  5. NodeJS(express)连接、封装操作MySQL
  6. component是什么接口_逐行解读Spring(二)什么,自定义标签没听说过?
  7. 枚举的使用(限foton)
  8. JavaScript Notes
  9. tomcat 6.0 部署报错信息
  10. Linux下批量重命名的方法