django下载文件
赶快记录一下写的一个django下载文件的例子,以便以后复习:
在views.py中设置
- from django.core.servers.basehttp import FileWrapper
- import mimetypes
- import settings
- import os
- def file_download(request, filename):
- filepath = os.path.join(settings.MEDIA_ROOT, filename)
- print (filepath)
- wrapper = FileWrapper(open(filepath, 'rb'))
- content_type = mimetypes.guess_type(filepath)[0]
- response = HttpResponse(wrapper, mimetype='content_type')
- response['Content-Disposition'] = "attachment; filename=%s" % filename
- return response
在settings.py中设置:
- import os
- STATIC_URL = '/static/'
- HERE = os.path.dirname(__file__)
- MEDIA_ROOT = HERE+STATIC_URL
最后在settings.py同一目录下设置一个文件夹static。 在文件价中添加文件1.ipg
在url.py中设置:
- url('^fileDownload/filename=(?P<filename>.{1,500})/$', 'DjangoDemo2.views.file_download'),#download
在浏览器中输入:
url :http://localhost:8000/fileDownload/filename=1.jpg/即可下载。
django下载文件的更多相关文章
- django 下载文件 无法正常打开
下载文件,无法正常打开,如下图 需手动加后缀名修改文件格式方可正常打开进而能得知文件内容正常如下图,给“下载”文件加上后缀即可得到正常下载的内容 问题整理:(此下载功能采用StreamHttpResp ...
- python3中用django下载文件,中文名乱码怎么办?
前段时间被某个前端小可爱鄙视了一下,说我博客都一年不更新了,我不服,明明还有俩月才到一年呢.不过说是这么说,还是要更新一下的. 以上都是借口,下面开始正文. 我公司的某个内部系统,用djang ...
- django 下载文件,指定文件中文名称
Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件.Content-disposition其实可以控制用户请求所得的内容存为一个 ...
- django 下载文件
方法一. from django.http import StreamingHttpResponse def big_file_download(request): # do something... ...
- Django下载中文名文件:
Django下载中文名文件: from django.utils.http import urlquote from django.http import HttpResponse content = ...
- django 中下载文件与下载保存为excel
一.django 中下载文件 在实际的项目中很多时候需要用到下载功能,如导excel.pdf或者文件下载,当然你可以使用web服务自己搭建可以用于下载的资源服务器,如nginx,这里我们主要介绍dja ...
- python 全栈开发,Day108(客户管理之权限控制,客户管理之动态"一级"菜单,其他应用使用rbac组件,django static文件的引入方式)
一.客户管理之权限控制 昨天的作业,有很多不完善的地方 下载代码,基本实现权限验证 https://github.com/987334176/luffy_permission/archive/v1.2 ...
- django下载excel,使用django-excel插件
django下载Excel,使用django-excel插件 由于目前的资料多是使用pandas或xlwt库实现的.其实没有那么的麻烦,因为django有相对应的插件django-excel. 该插件 ...
- vue 上传文件 和 下载文件
Vue上传文件,不必使用什么element 的uplaod, 也不用什么npm上找的个人写的包,就用原生的Vue加axios就行了, 废话不多说,直接上代码:html: <input type= ...
随机推荐
- 【译】使用requestIdleCallback
原文地址:http://galen-yip.com/2015/10/07/%E3%80%90%E8%AF%91%E3%80%91%E4%BD%BF%E7%94%A8requestIdleCallbac ...
- 今天才知道css hack是什么
先来个冷笑话:一晚下班回家,一民警迎面巡逻而来.突然对我大喊:站住! 民警:int类型占几个字节? 我:4个. 民警:你可以走了. 我感到很诧异. 我:为什么问这样的问题? 民警:深夜还在街上走,寒酸 ...
- TRIZ系列-创新原理-28-替代机械系统原理
替代机械系统原理的详细描写叙述例如以下:1)用光.声.热.嗅觉系统替代机械系统:2)用电.磁或电磁场来与物体交互作用:3)用移动场替代精巧场,用随时间变化的场替代固定场,用结构化的场替代随机场:4)使 ...
- sql server drop talbe 自动删除关联的外键 ,权限体系(二)
alter table dbo.Sys_PowerTeamForUser add constraint FK_Sys_User_Sys_PowerTeamForUser foreign key (Sy ...
- 解决Win7下一个VC++6.0您不能直接打开多个project问题
于Win7操作系统,只需双击打开多个VC ++6.0的project当文件,前方和后方的工作区将关闭工作区,这项.VC++6.0仅仅通过文件-->开放式工作区-->找到磁盘project档 ...
- 平安某金所奇葩的面经-关于幂等和ROA设计的反思
在公司一直在做跟支付有关的项目,某日接到平安某金所一男子电话,应该是之前某猎头投的,我正好在吃早饭(也不能怪他们上班早,我们公司弹性工作制,我一般上班比较晚). 因为饭馆信号不好,只能赶紧放下剩下的半 ...
- MVC扩展ModelBinder使类型为DateTime的Action参数可以接收日期格式的字符串
原文:MVC扩展ModelBinder使类型为DateTime的Action参数可以接收日期格式的字符串 如何让视图通过某种途径,把符合日期格式的字符串放到路由中,再传递给类型为DateTime的控制 ...
- 玩转Web之servlet(四)---B/S是怎样使用http协议完毕通信过程的
在上一篇文章中,我简单的说了一下B/S架构的流程图,关于浏览器和server之间的通信过程知识含糊的说了一下,在这篇文章中我再总结一下B/S架构里是怎样利用http协议去完毕通信的. (一)通讯过程 ...
- hibernate的orphanRemoval
在@OneToMany与@OneToOne中使用orphanRemoval = true时候 改动保存时候setXXX org.springframework.orm.hibernate3.Hiber ...
- android意图传递参数返回结果(六)
例如,有两页a,b. a参数传递到页面b页面,b后,将获得的参数的处理页,然后将结果传回与参数的页面a. 1.a主页MainActivity的代码类型,如以下: private Button butt ...