码迷,mamicode.com
首页 > Web开发 > 详细

Django--上传文件

时间:2016-03-23 00:51:59      阅读:436      评论:0      收藏:0      [点我收藏+]

标签:


需求

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

技术分享


传输的位置如果没指定,默认是项目的 “/”根目录。?
























Django--上传文件

标签:

原文地址:http://www.cnblogs.com/daliangtou/p/5309054.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!