python django下载_简单了解django文件下载方式
这篇文章主要介绍了简单了解django三种文件下载方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
推荐使用FileResponse,从源码中可以看出FileResponse是StreamingHttpResponse的子类,内部使用迭代器进行数据流传输。
在实际的项目中很多时候需要用到下载功能,如导excel、pdf或者文件下载,当然你可以使用web服务自己搭建可以用于下载的资源服务器,
如nginx,这里我们主要介绍django中的文件下载。
实现方式:a标签+响应头信息(当然你可以选择form实现)
方式一:使用HttpResponse
路由url:
url(r'^download/',views.download,name="download"),
views.py代码
from django.shortcuts import HttpResponse
def download(request):
file = open('crm/models.py', 'rb')
response = HttpResponse(file)
response['Content-Type'] = 'application/octet-stream' #设置头信息,告诉浏览器这是个文件
response['Content-Disposition'] = 'attachment;filename="models.py"'
return response
方式二:使用StreamingHttpResponse, 其他逻辑不变,主要变化在后端处理:
from django.http import StreamingHttpResponse
def download(request):
file=open('crm/models.py','rb')
response =StreamingHttpResponse(file)
response['Content-Type']='application/octet-stream'
response['Content-Disposition']='attachment;filename="models.py"'
return response
方式三:使用FileResponse
from django.http import FileResponse
def download(request):
file=open('crm/models.py','rb')
response =FileResponse(file)
response['Content-Type']='application/octet-stream'
response['Content-Disposition']='attachment;filename="models.py"'
return response
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
python django下载_简单了解django文件下载方式相关推荐
- python产品发布会_阅读虫师django开发发布会系统以及django开发Web接口分享
最近阅读了虫师的书籍,关于虫师分析django Web开发以及django 开发Web接口,通过阅读虫师的书籍,学到了很多东西,在这里分享一下,和简友一起学习和讨论 1.创建项目django-admi ...
- django 部署_狂野的Django:部署生存的技巧
django 部署 by Ali Alavi 通过Ali Alavi 狂野的Django:部署生存的技巧 (Django in the wild: tips for deployment surviv ...
- 阿里云大学python教程下载_阿里大学开放 11 门免费 Python 视频课程
Python 语言近几年越来越火,语言使用率占比节节攀升. 我们知道Python 现在稳居世界编程语言前三名,在 PYPL 语言流行指数上更是稳居第一,可见 python 的适用范围.受众基础.影响力 ...
- python抠图教程_简单几行Python代码实现8秒抠图的AI神器,根本无需PS(附教程)...
曾几何时,「抠图」是一个难度系数想当高的活儿,但今天要介绍的这款神工具,只要 3 行代码 5 秒钟就可以完成高精度抠图,甚至都不用会代码,点两下鼠标就完成了. 感受下这款抠图工具抠地有多精细: 是不是 ...
- 用python怎么下载_如何使用python下载视频
python怎么下载视频 在进行爬虫的时候,经常需要保存视频到本地.通常得先获得视频(.mp4)的下载链接,再设置保存到本地的路径(路径包括最后的命名, 例如:D:/1.mp4),因此函数传入的参数为 ...
- python tkinter下载_学习使用tkinter
学习使用tkinter Tkiinter **tkinter是使用python窗口视窗设计的模块.Tkinter模块是python的标准TK GUL工具包的接口. 优点 python 自带tkinte ...
- python网站设计理念_简单介绍下python Django框架的历史,设计理念及优势_Django讲解2...
简单介绍下python Django框架的历史,设计理念及优势 Django是一个高层次的 Python Web 框架,它是一个鼓励快速开发和干净,实用的框架设计.Django可以更容易地快速构建更好 ...
- python创建django项目语句_简单了解Django项目应用创建过程
创建应用前必须先进入虚拟环境 workon npy007 创建个文件夹 madir test cd test django-admin strartproject djdemo djdemo为项目名 ...
- python增删改查的框架_简单的Django框架增删改查操作
Django之orm对MysqL数据库的增删改查操作简介: 利用Django中orm来查找数据库中的数据,对数据库进行增.删.改.查: 增:新增数据 # 操作数据库user表新增记录 # 方式1: u ...
最新文章
- CreateMutex创建互斥体可以用于只运行进程的一个实例
- ubuntu 安装redis
- Python学习之数组
- linux的终端,网络虚拟终端,伪终端
- 【转】C#中数组复制的4种方法
- 日期控件的使用 c# 114867852
- 华为云数据库亮相下一代数据技术发展论坛,助力“数字一带一路”
- 《现代前端技术解析》第七章读书笔记
- 图片打散存储JAVA_通过java的i/o机制进行图片流的存储以及对网络图片的存储
- 用JEP+SpringBoot进行动态公式处理计算
- RTL8153 VC CG
- 从周鼎看如何当好研究生
- linux字体文件路径,Linux下安装字体
- 计算机文字输入程序,电脑“造字”,其实很简单
- 我的世界服务端大全-服务器插件等相关网站推荐
- CAD带文字线型的文字偏移bug介绍
- 如何设置Java环境变量
- 英特尔RealSense激光雷达摄像头L515拆解分析
- RealSense技术在SR300摄像头上的应用
- Win10系统出现edge主页被劫持篡改的问题
热门文章
- 2018数据技术嘉年华-金融峰会·重庆站即将起航!
- 这次,甘肃的老百姓办理就医再也不用等了
- NDPQ(NDP+PQ),定义分布式数据库新方向
- 这几个动态规划的问题,面试官就爱问
- 华为云云原生数据库GaussDB加速创新,企业核心数据上云信赖之选
- 测试攻城狮必备技能点!一文带你解读DevOps下的测试技术
- 【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察
- 面试官:你对Redis缓存了解吗?面对这11道面试题是否有很多问号?
- 【华为云技术分享】《跟唐老师学习云网络》 - 我的网络概念
- js html转义字符串,js中html拼接特殊字符转义