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)三层,他们之间以一种插件式的. ...
随机推荐
- Read from socket failed: Connection reset by peer.
复制密钥另一台主机时,出现了错误: Read from socket failed: Connection reset by peer. 到被登录主机的/var/log/auth.log查看日志: M ...
- 【超精简JS模版库/前端模板库】原理简析 和 XSS防范
使用jsp.php.asp或者后来的struts等等的朋友,不一定知道什么是模版,但一定很清楚这样的开发方式: <div class="m-carousel"> < ...
- VS2015安装ASP.NET MVC4
http://www.microsoft.com/zh-cn/download/details.aspx?id=44533 下载安装 AspNetMVC4.msi
- MBProgressHUD 的类扩展方法用法
#import "MBProgressHUD.h" @interface MBProgressHUD (Add) + (void)showError:(NSString *)err ...
- 清除li内a标签的float=left实现a标签在li内居中显示(ul内li不居中显示)
写在前面: 修改cnblogs主页面菜单显示问题. 问题描述:在给主菜单添加hover样式后发现菜单内容并未居中.见图1. 网上搜索到资料其中一篇讲的可以说简明扼要了,也是伸手党的福利(点我查看原文) ...
- keras callback中的stop_training
keras这个框架简洁优美,设计上堪称典范.而tensorflow就显得臃肿庞杂,混乱不清.当然,keras的周边部件比如callbacks.datasets.preprocessing有许多过度设计 ...
- protobuf3 iOS 接入 protobuf
1.引入官方基础pod 谷歌将protobuf需要使用的基础类封装成了一个pod,因此可以直接安装该pod,不必再手工导入. 如下: pod "Protobuf", :git =& ...
- iOS 用自签名证书实现 HTTPS 请求的原理
在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求.默认情况下非HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向Info ...
- LNMP分离式部署实例[转]
很多人在练习部署LNMP环境的时候,大都数是部署在同一个虚拟机上面的.但是实际工作中,我们一般都是分离部署的. 今天我就用3台虚拟机,部署下LNMP环境.以供参考! 网络拓扑图: 首先准备3台虚拟机: ...
- magento的一些小技巧(转)
1.加载某个attribute: $attributeCode=Mage::getModel('catalog/resource_eav_attribute') ...