django后台admin csv 格式表格导出
1.在app下新建一个.py文件 此例commen.py
commen.py (内容)(具体怎么导出的也不知道这么写就对了)
import csv from django.http import HttpResponse def export_as_csv_action(description='Export selected objects as csv file',
fields=None,exclude=None,header=True):
def export_as_csv(modeladmin,request,queryset):
opts=modeladmin.model._meta
if not fields:
field_names=[field for field in opts]
else:
field_names=fields response = HttpResponse( content_type = 'text/csv')
response['Content-Disposition']='attachment;filename={}.csv'.format(opts.verbose_name.encode('utf-8'))
writer = csv.writer(response)
if header:
writer.writerow(field_names)
for obj in queryset:
# 正常的这样处理就行了
row = [getattr(obj,field)()if callable(getattr(obj,field))else getattr(obj,field) for field in field_names] # 如果新添处理功能比如处理下时间的显示格式
# row=[]
# forfieldinfield_names:
# value=getattr(obj,field)
# ifisinstance(value,datetime.datetime):
# value=value.'WW^sY')
# row.append(value) writer.writerow(row)
return response
export_as_csv.short_description = description
return export_as_csv 2.在app下的admin.py
(1)导入刚才封装的函数
from .commen import export_as_csv_action (2)如下操作
@admin.register(ECS)
class BlogAdmin(admin.ModelAdmin):
list_display=( 'name','type','outer_net', 'inner_mesh', 'configure','strip_width','account_number','password','group','aliyun','expire_date','state')
list_per_page = 30
actions=[export_as_csv_action("导出Execl",fields=['name','type','outer_net', 'inner_mesh', 'configure','strip_width','account_number','password','group','aliyun','expire_date','state'])] search_fields =('name','type','outer_net', 'inner_mesh', 'configure','strip_width','account_number','password','group','aliyun','expire_date')
date_hierarchy = "expire_date"
django后台admin csv 格式表格导出的更多相关文章
- thinkphp5 csv格式导入导出(多数据处理)
关于csv文件格式的导出导入个人见解 先上代码: <?php namespace think; class Csv { /** * 导出csv文件 * @param $list 数据源 * @p ...
- 修改django 后台admin用户的密码
python manage.py shellfrom django.contrib.auth.models import User from django.contrib.auth.models im ...
- django后台admin管理布局
在model模块里设置 class pc_info(models.Model): ip = models.CharField(max_length=64) sn = models.CharField( ...
- Django - 后台admin不显示带auto_now, auto_now_add选项的字段
https://stackoverflow.com/questions/6386172/datetimefield-doesnt-show-in-admin-system 解决办法 class Rat ...
- django后台admin页面表单自定义
自定义一个form 表单来替换admin默认的表单 在自定义表单中可以定义字段和验证 https://docs.djangoproject.com/zh-hans/3.2/ref/contrib/ad ...
- Django Admin 后台Admin继承UserAdmin增加用户密码不显示明文和用户登录不了的解决方法
Django后台Admin继承UserAdmin增加用户不显示明文方法 1.在 models.py 中用户表 # 导包规范-1.Python标准模块 from django.db import mod ...
- 支持10种格式的 HTML 表格导出 jQuery 插件
HTML 表格导出 jQuery 插件可以帮助用户导出 HTML 表格到 JSON.XML.PNG.CSV.TXT.SQL.MS-Word.MS-Excel.MS-PowerPoint 和 PDF 格 ...
- mongodb导出数据csv格式
mongoexport -d test -c item --type=csv -f salary,city,workYear,companyShortName -o user.csvmongoexpo ...
- asp.net导出excel-一行代码实现excel、xml、pdf、word、html、csv等7种格式文件导出功能而且美观-SNF快速开发平台
分享: 腾讯微博 新浪微博 搜狐微博 网易微博 腾讯朋友 百度贴吧 豆瓣 QQ好友 人人网 作者:王春天 原文地址:http://www.cnblogs.com/spring_ ...
随机推荐
- unity 常用插件 2
Advanced PlayerPrefs Window 用来管理 PlayerPrefs 数据,超好用 JsonDotNet JSON 的序列化/反序列化插件.这个插件是支持 iOS, Android ...
- 学习笔记TF066:TensorFlow移动端应用,iOS、Android系统实践
TensorFlow对Android.iOS.树莓派都提供移动端支持. 移动端应用原理.移动端.嵌入式设备应用深度学习方式,一模型运行在云端服务器,向服务器发送请求,接收服务器响应:二在本地运行模型, ...
- java删除文件支持通配符
原文:https://blog.csdn.net/wdzayyt/article/details/7209530 感谢原作者 package com.covics.zfh; import java.i ...
- Django(其二)
session def session_login(request): if request.method=='POST': username = request.POST.get('user') p ...
- 简单kmp算法(poj3461)
题目简述: 给你两个字符串p和s,求出p在s中出现的次数. 思路简述: 在介绍看BF算法时,终于了解到了大名鼎鼎的KMP算法,结果属于KMP从入门到放弃系列,后来看了几位大神的博客,似乎有点懂了.此题 ...
- numpy用法
NumPy中创建特殊值 np.nan np.inf nan表示数据空缺 inf表示无穷 参考:https://www.cnblogs.com/haoxi/p/9175781.html
- SQL :“传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确” 错误
其中在DAL层调用存储过程来插入数据的参数 SqlParameter[] parameters = { new S ...
- LeetCode——162. Find Peak Element
一.题目链接: https://leetcode.com/problems/find-peak-element/ 二.题目大意: 给定一个长度为N的一维数组,数组是无序的,要求找到数组中的极大值(或局 ...
- PyCharm激活(License server)
打开激活窗口 选择 Activate new license with: License server (用license server 激活) 在 License sever address 处填入 ...
- nginx1.14.0版本高可用——keepalived双机热备
nginx不支持主从,所以我们需要使用keepalive支持高可用. keepalived重要知识点 在局域网内,每个主机上各安装一个keepalived,注意关闭防火墙firewalld,然后设定一 ...