Django 学习手册 - 下载数据库表格(XLS/CSV)
下载XLS表格方式:
前置:
需要安装xlwt模块
views :
def export_users_xls(request):
response = HttpResponse(content_type='application/ms-excel')
response['Content-Disposition'] = 'attachment; filename="abc.xls"'
wb = xlwt.Workbook(encoding='utf-8')
ws = wb.add_sheet('Menu')
# Sheet header, first row row_num = 0
font_style = xlwt.XFStyle()
font_style.font.bold = True # 表头内容
columns = ['id','Mname'] for col_num in range(len(columns)):
ws.write(row_num, col_num, columns[col_num], font_style)
# Sheet body, remaining rows
font_style = xlwt.XFStyle() # 获取数据库数据
rows = models.Menu.objects.all().values_list('id','Mname')
for row in rows:
row_num += 1
for col_num in range(len(row)):
ws.write(row_num, col_num, row[col_num], font_style)
wb.save(response)
return response
URLS:(设置URLS)
url(r'^export/xls/$', a1.export_users_xls, name='export_users_xls'),
前端页面:
<a href="{% url 'export_users_xls' %}">Export all users</a>
下载CSV表格方式:
views :
import csv
from django.http import HttpResponse
from django.contrib.auth.models import User
def export_users_csv(request):
response = HttpResponse(content_type='text/csv')
# 表名
response['Content-Disposition'] = 'attachment; filename="users.csv"'
writer = csv.writer(response)
# 表头
writer.writerow(['Username', 'First name', 'Last name', 'Email address'])
# 表数据
users = User.objects.all().values_list('username', 'first_name', 'last_name', 'email')
for user in users:
writer.writerow(user)
return response
URLS:(设置URLS)
url(r'^export/csv/$',a1.export_users_csv, name='export_users_csv'),
前端页面:
<a href="{% url 'export_users_csv' %}">Export all users</a>
Django 学习手册 - 下载数据库表格(XLS/CSV)的更多相关文章
- Django 学习笔记之三 数据库输入数据
假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介 ...
- Django学习笔记之数据库-数据库与模型
MySQL数据库 在网站开发中,数据库是网站的重要组成部分.只有提供数据库,数据才能够动态的展示,而不是在网页中显示一个静态的页面.数据库有很多,比如有SQL Server.Oracle.Postgr ...
- Django学习手册 - 连接mysql数据库
版本问题: 首先确认django.msql.python版本是统一支持 当前所用的版本信息: Django setting.py 配置 替换之前的DATABASES 配置: DATABASES = { ...
- Django学习笔记之数据库-模型的操作
模型的操作 在ORM框架中,所有模型相关的操作,比如添加/删除等.其实都是映射到数据库中一条数据的操作.因此模型操作也就是数据库表中数据的操作. 添加模型 添加模型到数据库中.首先需要创建一个模型.创 ...
- Django学习手册 - cookie / session
cookie """ cookie属性: obj.set_cookie(key,value,....) obj.set_signed_cookie(key,value,s ...
- Django学习手册 - 权限管理(二)
从数据库获取数据后,对数据进行清洗 目标: 数据1,存放至session 中的数据 数据2,显示至前端的菜单数据 清洗数据: 1.session存放的数据:(menu_leaf_dict) 2.前端菜 ...
- Django学习手册 - 权限管理(一)
权限管理原理: 不同角色拥有不同的角色权限,所以能否访问的页面也就不相同. 通过控制URL使用户访问到不同的URL,从而达到权限控制的目的. 设计权限数据库 权限管理 from django.db i ...
- Django学习手册 - 登录验证码
生成验证码函数 import random from PIL import Image, ImageDraw, ImageFont, ImageFilter _letter_cases = " ...
- Django学习手册 - ORM 数据创建/表操作 汇总
ORM 查询的数据类型: QuerySet与惰性机制(可以看作是一个列表) 所谓惰性机制:表名.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它 ...
随机推荐
- JS学习笔记Day7
一.ES5扩展方法 1.严格模式"use strict" 1)必须加在作用域的开头 2.数组扩展方法 1)indexOf(元素,从哪个下标开始查找) 作用:在数组中查找指定的元素第 ...
- php php-fpm安装 nginx配置php
centos 6.2 linux下安装php5.6.6源码 PHP在 5.3.3 之后已经把php-fpm并入到php的核心代码中了. 所以php-fpm不需要单独的下载安装.要想php支持php-f ...
- Ajax结合Json进行交互数据(四)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- python自动化开发-[第十五天]-jquery
今日概要 1.javascript补充 2.jquery 1.javascript-DOM绑定事件 1.事件类型 onclick 当用户点击某个对象时调用的事件句柄. ondblclick 当用户双击 ...
- bzoj2004 矩阵快速幂优化状压dp
https://www.lydsy.com/JudgeOnline/problem.php?id=2004 以前只会状压dp和矩阵快速幂dp,没想到一道题还能组合起来一起用,算法竞赛真是奥妙重重 小Z ...
- Tomcat记录-tomcat常用配置详解和优化方法(转载)
常用配置详解 1 目录结构 /bin:脚本文件目录. /common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载). /conf:存放配置文件,最重要的是serv ...
- Web项目发布BUG总结
1.字符集乱码问题: 这是一个常遇见的问题,但总是解决不了,让人很头疼笔者最近就遇到了这个问题.首先确保你传入的数据是UTF-8格式的,如果你是用jsp+servlert写的话,你的servlert中 ...
- log4j日志文件名与行号显示乱码? 问号? 参数问号? 日志问号?【转】【补】
log4j本来设置了要打印行号与文件名的,结果有的能打印出来,有的却是乱码,查了些文档之后才发现,原来打印问题是因为编绎时没有编绎进去调试信息,所以没办法打印,好像有的系统又会显示(Unknown S ...
- 引用mchange-commons-java-0.2.3.4.jar架包
pom.xml中增加 <!-- https://mvnrepository.com/artifact/com.mchange/mchange-commons-java --> <de ...
- SpringBoot系列: 极简Demo程序和Tomcat war包部署
=================================SpringBoot 标准项目创建步骤================================= 使用 Spring IDE( ...