Django 之 下载文件
2015-09-08 18:20
387 查看
法I:
views.py
法II:
test.html
urls.py
xxx中的views.py
法III:
test.html
urls.py
views.py
#encoding:utf-8 import os from django.core.servers.basehttp import FileWrapper from django.http import HttpResponse path = '/tmp/' def downloader(request): filename_tmp = 'test.tmp' # test.tmp为将要被下载的文件名 filename = os.path.join(path,filename_tmp) wrapper = FileWrapper(file(filename)) response = HttpResponse(wrapper, content_type='text/plain') response['Content-Length'] = os.path.getsize(filename) response['Content-Disposition'] = 'attachment; filename="somefilename.csv"' # somefilename.csv为下载后的文件名 return response
法II:
test.html
<a href="download/file/">下载</a>
urls.py
url(r'^download/file/$', 'xxx.views.download'), # xxx为项目名
xxx中的views.py
import os from django.http import HttpResponse from django.contrib.auth.decorators import login_required @login_required def download(request): response = HttpResponse() response['Content-Disposition'] = 'attachment;filename=downfile.txt' # downfile.txt为下载后的文件名 full_path = os.path.join('/tmp', 'filename.txt') # filename.txt为将要被下载的文件名 if os.path.exists(full_path): response['Content-Length'] = os.path.getsize(full_path) # 可不加 content = open(full_path, 'rb').read() response.write(content) return response else: return HttpResponse(u'文件未找到')
法III:
test.html
<a href="download/downfile.txt">下载</a>
urls.py
1 url(r'^download/(?P.*)$', 'django.views.static.serve',{'document_root':文件路径}),
相关文章推荐
- django02_01 CMDB
- 当用DJANGO的migrate不成功时。。。。
- HDU 3683 Gomoku(五子棋判断结果,模拟题)
- Algorithms—133.Balanced Binary Tree
- 【leetcode】Majority Element II,Majority element algorithm
- google mock分享
- 1062 - Duplicate entry '20150820048' for key 'goods_serial'
- Algorithms—110.Balanced Binary Tree
- Django架设blog步骤
- Goods:我的订单查询分页
- Golang在京东列表页实践总结
- 11292 - Dragon of Loowater(贪心)
- Google Analytics自定义广告系列
- Beego环境搭建和bee工具安装使
- 算法系列(一) Google方程式
- 移除百度地图LOGO和版权信息
- Category添加属性
- Leetcode Algorithm No.242 Valid Anagram
- 【Django】template中实现加减乘除数学运算[加法 减法 乘法 除法]
- oc中protocol、category和继承的区别