Django--上传文件
需求
Django中forms表单上传文件处理
速查
views.py
1
2
3
4
5
6
7
8
9
def upload(request):
if request.method=='POST':
inp_files = request.FILES
file_obj1 = inp_files.get('f1')
f = open(file_obj1.name,'wb')
for line in file_obj1.chunks():
f.write(line)
f.close()
return render(request,'home/upload.html')
知识点
- 上传文件是必须加上:enctype="multipart/form-data",代表分片传输。
- request.FILES是上传的文件,获取某个文件,是get那个name属性名。
- obj.name获取文件名,obj.size获取文件大小。
- obj.chunks()是上传文件的所有分片集合,循环每一个分片,write写入文件。
详细
templates/home/upload.html
1
2
3
4
5
6
<form action="/upload/" method="POST" enctype="multipart/form-data">
<p><input type="file" name="f1" /> </p>
<p><input type="file" name="f2" /> </p>
<p><input type="text" name="name" /> </p>
<input type="submit" value="Upload" />
</form>
app01/urls.py
1
2
3
4
from app01.views import home
urlpatterns = [
url(r'^upload/', home.upload),
]
app01/views/home.py
1
2
3
4
5
6
7
8
9
def upload(request):
if request.method=='POST':
inp_files = request.FILES
file_obj1 = inp_files.get('f1')
f = open(file_obj1.name,'wb')
for line in file_obj1.chunks():
f.write(line)
f.close()
return render(request,'home/upload.html')
browser
|
1
2
3
4
5
6
7
8
9
|
def upload(request): if request.method=='POST': inp_files = request.FILES file_obj1 = inp_files.get('f1') f = open(file_obj1.name,'wb') for line in file_obj1.chunks(): f.write(line) f.close() return render(request,'home/upload.html') |
- 上传文件是必须加上:enctype="multipart/form-data",代表分片传输。
- request.FILES是上传的文件,获取某个文件,是get那个name属性名。
- obj.name获取文件名,obj.size获取文件大小。
- obj.chunks()是上传文件的所有分片集合,循环每一个分片,write写入文件。
详细
templates/home/upload.html
1
2
3
4
5
6
<form action="/upload/" method="POST" enctype="multipart/form-data">
<p><input type="file" name="f1" /> </p>
<p><input type="file" name="f2" /> </p>
<p><input type="text" name="name" /> </p>
<input type="submit" value="Upload" />
</form>
app01/urls.py
1
2
3
4
from app01.views import home
urlpatterns = [
url(r'^upload/', home.upload),
]
app01/views/home.py
1
2
3
4
5
6
7
8
9
def upload(request):
if request.method=='POST':
inp_files = request.FILES
file_obj1 = inp_files.get('f1')
f = open(file_obj1.name,'wb')
for line in file_obj1.chunks():
f.write(line)
f.close()
return render(request,'home/upload.html')
browser
|
1
2
3
4
5
6
|
<form action="/upload/" method="POST" enctype="multipart/form-data"> <p><input type="file" name="f1" /> </p> <p><input type="file" name="f2" /> </p> <p><input type="text" name="name" /> </p> <input type="submit" value="Upload" /></form> |
|
1
2
3
4
|
from app01.views import homeurlpatterns = [ url(r'^upload/', home.upload),] |
|
1
2
3
4
5
6
7
8
9
|
def upload(request): if request.method=='POST': inp_files = request.FILES file_obj1 = inp_files.get('f1') f = open(file_obj1.name,'wb') for line in file_obj1.chunks(): f.write(line) f.close() return render(request,'home/upload.html') |

传输的位置如果没指定,默认是项目的 “/”根目录。
Django--上传文件的更多相关文章
- (转)django上传文件
本文转自:http://www.cnblogs.com/linjiqin/p/3731751.html 另: 本文对原文做了适当修改 更为详细的介绍可以参考官方文档. emplate html(模板 ...
- django上传文件
template html(模板文件): <form enctype="multipart/form-data" method="POST" action ...
- 实现简单的django上传文件
本文用django实现上传文件并保存到指定路径下,没有使用forms和models,步骤如下: 1.在模板中使用form表单,因为这个表单使用于上传文件的,所以method属性必须设置为post,而且 ...
- Django上传文件和上传图片(不刷新页面)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Django上传文件的那些参数
# ################## 默认文件上传配置 ######################## from django.core.files.uploadhandler import M ...
- 20-1 django上传文件和项目里上传头像如何查看
一 普通上传方式 1 views def upload(request): if request.method == "POST": # print(request.POST) # ...
- Django上传文件的两种方式
基于form表单上传文件 HTML <h3>基于form表单的上传文件</h3> <form action="" method="post& ...
- 【python】django上传文件
参考:https://blog.csdn.net/zahuopuboss/article/details/54891917 参考:https://blog.csdn.net/zzg_550413470 ...
- Python - Django - 上传文件
upload.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- django 上传文件及反馈信息
from django.shortcuts import render,HttpResponse from django.views import View from Fiskars.models i ...
随机推荐
- Meanshift filter实现简单图片的卡通化效果
利用Meanshift filter和canny边缘检测的效果,可以实现简单的图片的卡通化效果.简单的说,就是用Meanshift filter的结果减去canny算法的结果得到卡通化的效果. ...
- 【转】javascript运行机制之this详解
this是面向对象语言中一个重要的关键字,理解并掌握该关键字的使用对于我们代码的健壮性及优美性至关重要.而javascript的this又有区别于Java.C#等纯面向对象的语言,这使得this更加扑 ...
- Win7快捷方式图标不显示解决办法
问题:WIN7的系统,桌面.开始菜单以及任务栏的快捷方式图标显示不正常,看不到程序默认图标,快捷方式图标不显示. 解决方法:删除程序图标缓存即可. 将下面的内容复制到记事本保存为“图标缓存清理.b ...
- 使用Gradle自动发布Java Web到SAE
博客已迁移,请访问:http://www.huangyunkun.com/ 现在像SAE这类的应用引擎已经比较多了,百度和腾讯都出了这样的东西. 我很早的时候就开始用SAE,当时还为了迁就SAE学习了 ...
- Scala 深入浅出实战经典 第39讲:ListBuffer、ArrayBuffer、Queue、Stack操作代码实战
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- 通过Web.config实现301重定向
通过Web.config实现301重定向 IIS7以上可以通过修改Web.config实现IIS设置 现在我们通过Web.config实现301重定向 <system.webServer> ...
- android studio logcat 换行(日志换行)
起因 今天突然要调试网络数据,调试一大截那个xml数据. 解决思路 一开始去setting哪里看一下logcat 是否有line break,类似的字眼,可惜没有. 我猜如果没有在设置的话,估计就在“ ...
- Node.js之绝对选择
几年前,完全放弃Asp.net,彻底脱离微软方向.Web开发,在公司团队中,一概使用Node.js.Mongodb.Git,替换Asp.net mvc.Sql server和Tfs.当时来看,这是高风 ...
- jdbc无法连接数据解析
1.网络原因 2.账户权限问题 账户是否赋予以下的权限: grant connect, resource to ADM_BI; grant read, write on directory BACKU ...
- 可编辑的DIV -编辑器
找了好多,没几个好用的,都或多或少有问题 目前这个最好用.. 不过有一个奇葩的问题,就是要放在"<a></a>"标签里面, js或者jQuery获取 $ ...