py文件:

from django.utils.http import urlquote
from rest_framework.views import APIView
from django.shortcuts import render, redirect, HttpResponse
from dal import models
from django.http import JsonResponse, FileResponse, StreamingHttpResponse
import os import xlwt BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # C:\Users\user\Desktop\DownTest class fileShow(APIView): def get(self, request): message = {}
userinfo = models.UserInfo.objects.all() workbook = xlwt.Workbook(encoding='utf-8') # 新建工作簿\ sheet1 = workbook.add_sheet("用户表") # 新建sheet
sheet1.write(0, 0, "ID") # 第1行第1列数据
sheet1.write(0, 1, "用户名") # 第1行第1列数据
sheet1.write(0, 2, "密码") # 第1行第1列数据
sheet1.write(0, 3, "创建时间") # 第1行第1列数据 path = BASE_DIR + "\\utils\\username.xlsx" # 储存路径 excel_row = 1
for obj in userinfo:
data_id = obj.id
data_username = obj.username
data_password = obj.password
data_time = obj.create_time sheet1.write(excel_row, 0, data_id)
sheet1.write(excel_row, 1, data_username)
sheet1.write(excel_row, 2, data_password)
sheet1.write(excel_row, 3, str(data_time))
excel_row += 1 workbook.save(path) file = open(path,'rb') # 字符串替换成文件
print("file",file.name)
# file_names = file.name.split('/')[-1]
# print("file_names",file_names) response = FileResponse(file)
response['Content-Type'] = 'application/octet-stream' response['Content-Disposition'] = "attachment;filename={}".format(urlquote(path)) # 字符串替换成下载文件
print(response)
return response

html的ajax请求:

<button id="up">下载文件</button>  一个按钮

请求:

// 下载文件
$("#up").on("click", function () {
$.ajax({
url: "down/",
type: "get",
data: {},
success: function (data) {
var $a = $('<a></a>');
$a.attr("href", "http://127.0.0.1:8000/down/"); # 红色的是你下载路径
$("body").append($a);
$a[0].click();
$a.remove();
} })

【django基础】django接口 异步ajax请求 导出数据库成excel表(包裹前端后端)的更多相关文章

  1. python实现导出excel表(前端+后端)

    之前在做项目管理系统的时候需要实现将数据导出到excel表的功能,搜索之后发现了python的xlwt模块可以很好的实现这项功能. 首先是导入xlwt模块: import xlwtfrom io im ...

  2. phpexcel导出数据库成excel文件

    <?php error_reporting(E_ALL); date_default_timezone_set('Europe/London'); /** PHPExcel */ require ...

  3. Ajax请求导出Excel的问题

    文章转载自: http://yuwenlin.iteye.com/blog/2275289 Ajax请求导出Excel的问题描述: 前端发起Ajax请求get或post,后台使用Poi生成excel文 ...

  4. mysqldump 导出数据库为DBname的表名为Tname的表结构 导出数据库的所有表的表结构

    mysqldump -uroot -p password -d DBname Tname >db.sql #关建点是"-d"参数 导出数据库的所有表的表结构 mysqldum ...

  5. mysql 导入导出数据库、数据表的方法

    mysql 导入导出数据库.数据表的方法. Linux操作系统中,均在控制台下操作.1,导入数据库:前提:数据库和数据表要存在(已经被创建)(1)将数据表 test_user.sql 导入到test ...

  6. django基础之day08,ajax结合sweetalert的使用

    models.py文件 from django.db import models class User(models.Model): username=models.CharField(max_len ...

  7. Django基础--Django基本命令、路由配置系统(URLconf)、编写视图、Template、数据库与ORM

    web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构. 使用框架可以帮你快速开发特定的系统. 简单地说,就是你用别人搭建好的舞台来做表演. 尝试搭建一个简单 ...

  8. 异步ajax请求数据处理

    jQuery.ajax(url,[settings]) 概述 通过 HTTP 请求加载远程数据. jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax ...

  9. Jquery ajax请求导出Excel表格

    直接贴代码吧 $("#btn-export").click(function(){ var exportExcel = "export_excel"; data ...

随机推荐

  1. 使用 VSCode 在 Mac 上配置 C/C++ 调试环境

    Background VSCode是微软开发的一款开源代码编辑器,具有可拓展性强,多语言支持,跨平台等优点,在不同的个性化配置下几乎可以用作所有的轻量级开发.我在初学C的时候也使用的是类似于Xcode ...

  2. Python基础篇(一)_基本语法元素

    Python基础篇——基本语法元素 缩进:体现强制可读性,一般缩进4个空格.一个或多个Tab 注释:单行注释----以 # 开头 多行注释----每行以 # 开头,以 # 结束 变量:无须提前声明.可 ...

  3. DOTNET CORE源码分析之ServiceDescriptor

    ServiceDescriptor在.net core中的作用就是DI中注入服务元素的描述.每一个元素核心内容部分包括需要注入的服务元素的类型ServiceType,它对应的接口(如果有的话)Impl ...

  4. httpServletRequest.getCharacterEncoding()取出来是个null,怎么办?

    因为浏览器没有把正确的编码方式给服务器端. 目前,许多浏览器在Content-Type头中不会指定字符编码方式,那么容器就会使用"ISO-8859-1"方式解析POST数据,而此时 ...

  5. 升级Kubernetes 1.18前,你不得不知的9件事

    本文来自Rancher Labs 昨天Kubernetes最新版本v1.18已经发布,其包含了38项功能增强,其中15项为稳定版功能.11项beta版功能以及12项alpha版功能.在本文中,我们将探 ...

  6. go第三方常用包

    配置 go-ini/ini 用于读取 ini 格式配置文件. 地址:https://github.com/Go-ini/ini tomal 用于读取 conf 格式配置文件. 地址:https://g ...

  7. DNS提供的服务

    DNS提供的服务 DNS是:1.一个由分层的DNS服务器实现的分布式数据库:2. 一个使主机能够查询分布式数据库的应用协议.DNS协议运行在UDP上,使用53号端口. 与http,FTP,SMTP协议 ...

  8. 贪心-谷歌-857. 雇佣 K 名工人的最低成本

    2020-03-15 22:00:39 问题描述: 有 N 名工人. 第 i 名工人的工作质量为 quality[i] ,其最低期望工资为 wage[i] . 现在我们想雇佣 K 名工人组成一个工资组 ...

  9. ASP.NET MVC升级到ASP.NET Core MVC踩坑小结

    写在前面 ASP.NET Core是微软新推出的支持跨平台.高性能.开源的开发框架,它的优势不必多说,因为已经说得太多了.当然,现在依然有着数量庞大的系统运行于.NET Framework上,由于有大 ...

  10. OpenCV-Python 图像分割与Watershed算法 | 三十四

    目标 在本章中, 我们将学习使用分水岭算法实现基于标记的图像分割 我们将看到:cv.watershed() 理论 任何灰度图像都可以看作是一个地形表面,其中高强度表示山峰,低强度表示山谷.你开始用不同 ...