django admin 导出数据简单示例
借鉴博客:https://www.lijinlong.cc/django/djxs/2101.html
具体代码实现:
class TipReport(admin.ModelAdmin):
actions = ['saveexcel']
list_display = ('tiptype', 'enabled', 'get_tag','get_content')
search_fields = ('get_tag', 'tiptype')
list_per_page = 500 def get_tag(self, obj):
if obj.tags.all():
tag_list = [i.name for i in obj.tags.all()]
return ','.join(tag_list)
else:
return '-' get_tag.short_description = '小贴士标签' def get_content(self, obj):
if obj.content:
return obj.content
elif obj.image:
return mark_safe('<a href="%s">%s</a>' % (obj.image.url, obj.image.url))
else:
return '-' get_content.short_description = '内容' def saveexcel(self, request, queryset):
Begin = xlwt.Workbook()
sheet = Begin.add_sheet('小贴士记录')
cols = 0
for query in queryset:
sheet.write(cols, 0, str(query.tiptype))
sheet.write(cols, 1, str(query.enabled))
# for i in unicode(query.tags.all()):
sheet.write(cols, 2, unicode(query.tags.all()))
print type(query.content)
sheet.write(cols, 3, unicode(query.content)) cols += 1 Begin.save('{}'.format("result.xls"))
def file_iterator(filename, chuck_size=512):
with open(filename, 'rb') as f :
while True:
c = f.read(chuck_size)
if c:
yield c
else:
break
response = StreamingHttpResponse(file_iterator('{}'.format("result.xls")))
response['Content-Type'] = 'application/octet-stream'
response['Content-Disposition'] = 'attachment;filename="{}"'.format("result.xls")
return response
saveexcel.short_description = '导出数据'
admin.site.register(Tip, TipReport)
django admin 导出数据简单示例的更多相关文章
- web 框架的本质及自定义web框架 模板渲染jinja2 mvc 和 mtv框架 Django框架的下载安装 基于Django实现的一个简单示例
Django基础一之web框架的本质 本节目录 一 web框架的本质及自定义web框架 二 模板渲染JinJa2 三 MVC和MTV框架 四 Django的下载安装 五 基于Django实现的一个简单 ...
- Ubuntu18.04安装和配置Django,并实现简单示例
一.前言(系统,django介绍,window.mac.linux简单区别) Django是python开发过程最重要的web框架.因为在看的Django教学视频是在mac下安装的,我自己用的是Lin ...
- Django rest framework + Vue简单示例
构建vue项目参考这篇文章https://segmentfault.com/a/1190000008049815 一.创建Vue项目 修改源:npm config set registry https ...
- django admin后台的简单使用
创建自己的model.py文件 from django.db import models from django.contrib.auth.models import ( BaseUserManage ...
- HtmlAgilityPack抓取搜房网数据简单示例
HtmlAgilityPack是一个开源的解析HTML元素的类库,最大的特点是可以通过XPath来解析HMTL,如果您以前用C#操作过XML,那么使用起HtmlAgilityPack也会得心应手.目前 ...
- MapReduce从HBase读写数据简单示例
就用单词计数这个例子,需要统计的单词存在HBase中的word表,MapReduce执行的时候从word表读取数据,统计结束后将结果写入到HBase的stat表中. 1.在eclipse中建立一个ha ...
- js抽奖概率随机取出数据(简单示例)
在平常活动开发当中,经常会碰到抽奖等类似的js功能,那么下面我们随机取数组中的一条来展示出来. ( 一 ) 无概率问题 var gift_ = ['apple pro一台','iphoneX一台',' ...
- IO流读写数据简单示例
常用的字节输入流有:InputStream ,FileInputStream,BufferedInputStream 常用的字节输出流有:OutputStream,FileOutputStream,B ...
- Django学习 之 Django安装与一个简单的实例认识
一.Django简介 1.MVC与MTV模型 (1)MVC模型 Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的. ...
随机推荐
- python xlwt写excel格式控制 颜色、模式、编码、背景色
关于写excel的格式控制,比如颜色等等 import xlwt from datetime import datetime font0 = xlwt.Font() font0.name = 'Tim ...
- merge-intervals 合并区间
Given a collection of intervals, merge all overlapping intervals. For example,Given[1,3],[2,6],[8,10 ...
- java 从spring容器中获取注入的bean对象
java 从spring容器中获取注入的bean对象 CreateTime--2018年6月1日10点22分 Author:Marydon 1.使用场景 控制层调用业务层时,控制层需要拿到业务层在 ...
- Selenium上传文件
selenium自带了对应的API可以上传问题,如果这个上传文件的html code中显示的type是file那么你就可以使用下面的代码上传文件. /** * click the upload but ...
- X240 Ubuntu18.04安装流水帐
U盘安装 使用Startup Disk Creator和下载好的iso文件创建启动U盘 (在win7下官网建议的刻录软件是Rufus, https://rufus.akeo.ie/) Nautilus ...
- Libevent例子(一)
服务器端 #include<stdio.h> #include<string.h> #include<errno.h> #include<event.h> ...
- SpringBoot集成MyBatis的分页插件PageHelper
俗话说:好
- GNU Linux系统变量(sysctl配置命令)综合使用
查看全部kernel变量的值 sysctl -a 怎样查看一个系统变量的值 1).cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000 2).s ...
- Node单线程高并发原理
一.node是如何处理web请求的 浏览器中的js是单线程的,node也是单线程的.这个单线程相当于一个大管家,一切大小事务都要经过他的手才能办成,它总是把IO任务放入到任务池中. 虽然说是单线程,但 ...
- IP概念盛行的背后:资本在狂欢,电影想哭泣 IP,英文“Intellectual Property”的缩写,直译为“知识产权”。它的存在方式很多元,可以是一个故事,也可以是某一个形象,运营成功的IP可以在漫画、小说、电影、玩具、手游等不同的媒介形式中转换。
IP概念盛行的背后:资本在狂欢,电影想哭泣 IP容易拉投资.谈合作,甚至还能简化宣发途径,越来越多的人涌入了电影这个产业,争抢IP成为他们进入行业的最快捷的方法.IP盛行暴露出的另一个问题是国产电影原 ...