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 ...
随机推荐
- PS脚本获取网络适配器状态
1. Get-WmiObject -Class Win32_NetworkAdapterConfiguration ` -filter "IPEnabled = $true" 2. ...
- Microsoft.VisualBasic.DateAndTime.Timer 与 DateTime.Now.TimeOfDay.TotalSeconds 相当
如题,示例如下: Console.WriteLine(DateTime.Now.TimeOfDay.TotalSeconds); Console.WriteLine(Microsoft.VisualB ...
- JSP 处理汉字信息
request 对象获取客户端提交的汉字字符时,会出现乱码问题,所以对含有汉字字符的信息必须进行特殊处理.将获取的字符串用 ISO-8859-1 进行编码,并将编码存放到一个字节数组中,再将这个数组转 ...
- nginx做反向代理负载均衡 Java怎么获取后端服务器获取用户IP
nginx做反向负载均衡,后端服务器获取真实客户端ip 首先,在前端nginx上需要做如下配置: location / proxy_set_hearder host ...
- 第一部分:IBM量子体验
(一)量子世界 今天的计算机使用标准的(或用物理学家的话来说,“经典的”)计算模型来执行计算与处理信息,此计算模型要追溯到图灵(Turing)和冯・诺伊曼(Von Neumann)时期.在此模型 ...
- jenkins svn E175002错误
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dsvnkit.http.sslProtocols='SSLv3' -Dsvnkit.http ...
- jQuery插件实现图片展开效果,jquery.gallery。仿腾讯QQ空间说说图片展示效果。
公司的项目http://www.umfun.com/,有个说说的页面(和腾讯QQ空间说说一样),里面有个发表图片功能,上传完图片,需要点击展开的效果. 当时手里面事情比较多(公司就我一个前端),忙不过 ...
- [转载]JavaScript 中小数和大整数的精度丢失
标题: JavaScript 中小数和大整数的精度丢失作者: Demon链接: http://demon.tw/copy-paste/javascript-precision.html版权: 本博客的 ...
- DVI-A、DVI-D、DVI-I接口定义、DVI接口图和DVI接口标准介绍
http://blog.csdn.net/cd520yy/article/details/16993179
- Code片段 : .properties属性文件操作工具类 & JSON工具类
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “贵专” — 泥瓦匠 一.java.util.Properties API & 案例 j ...