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 ...
随机推荐
- 实现多项式的JAVA类
p = coef[i] + (x * p); } Poly ...
- Zookeeper开源客户端框架Curator简介[转]
Curator是Netflix开源的一套ZooKeeper客户端框架. Netflix在使用ZooKeeper的过程中发现ZooKeeper自带的客户端太底层, 应用方在使用的时候需要自己处理很多事情 ...
- 【转】JAVA 接口
1.定义接口 使用interface来定义一个接口.接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成.定义接口的基本格式如下: [修饰符] inter ...
- 使用visualVM 1.3.8(visualvm_138-ml.zip) 监控远程Tomcat运行情况
服务端CentOS6.4 x64安装的是jdk1.7 下载visualVM1.3.8-ml 也就是多语言版本,包含中文,界面用起来方便.官方下载地址比较慢,百度上搜索的都是csdn,51cto等必须登 ...
- vim之插入
进入vim插入模式,我们熟知的有: 字符位置插入: i 在光标之前插入 a 在光标之后追加 行位置插入: A 在一行的结尾处追加 I 在一行的开头处插入 o 在光标所在位置的 ...
- Android 6.0 源代码编译实践
http://www.judymax.com/archives/1087 Android 6.0 源代码编译实践 https://mirrors.tuna.tsinghua.edu.cn/help/A ...
- vs多项目模板及add-in开发
本文分2部分 第一为自定义多项目模板 第二为vs add-in开发 效果图 1.自定义模板 2. 工具菜单 3.窗口 4.工程 5.文件 ... 一. 多项目模板 单项目模板做起来很简单 选中一个项目 ...
- Android Studio通过JNI调用NDK程序
NDK开发,其实是为了项目需要调用底层的一些C/C++的一些东西:另外就是为了效率更加高些,安全性更高. 如果你在Eclipse+ADT下开发过NDK就能体会到要么是配置NDK还要下载Cygwin,配 ...
- Multipart/form-data POST文件上传详解
Multipart/form-data POST文件上传详解 理论 简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form ...
- 15款效果很酷的最新jQuery/CSS3特效
很久没来博客园发表文章了,今天就分享15款效果很酷的最新jQuery/CSS3特效,废话不说,一起来看看吧. 1.3D图片上下翻牌切换 一款基于jQuery+CSS3实现的3D图片上下翻牌切换效果,支 ...