django admin 使用 import_export 展示及导入导出数据

1、在setting中引用import_export
INSTALLED_APPS = [
‘simpleui’,
‘import_export’,
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘middlewares’,
‘Baseinfo’,
‘Siteloginfo’
]

2、构造models
class personinfo(models.Model):
## 定义枚举值状态
员工编号 = models.CharField(‘员工编号’, max_length=128, primary_key=True)
姓名 = models.CharField(‘姓名’, max_length=128)
地市 = models.CharField(‘地市’, max_length=128)
部门 = models.CharField(‘部门’, max_length=128)
人才级别 = models.CharField(‘人才级别’, max_length=128)
人才专业 = models.CharField(‘人才专业’, max_length=128)

class Meta:
    verbose_name = "员工信息"
    verbose_name_plural = "员工信息"

3、在admin.py 中构造展示模块
from django.contrib import admin
from django.db import models
from django.forms import Textarea, TextInput

from Baseinfo.models import personinfo
from import_export.admin import ExportMixin

更改 admin的title header 和名称

admin.site.site_header = ‘项目管理’
admin.site.site_title = ‘管理系统’
admin.site.index_title = ‘管理系统’

@admin.register(personinfo)

class personadmin(ExportMixin,admin.ModelAdmin):
resource_class = personinfo
# 设置页面可以展示的字段
list_display = (‘姓名’,‘地市’,‘部门’,‘人才级别’,‘人才专业’)
# 默认不配置的话,第一个字段会存在链接到记录编辑页面
# list_display_links = None
# list_display_links = (‘站址名称’,)
# 设置过滤选项
list_filter = (‘地市’,‘人才级别’)
# 每页显示条目数 缺省值100
list_per_page = 10
# show all页面上的model数目,缺省200
# list_max_show_all = 200
# 设置可编辑字段 如果设置了可以编辑字段,页面会自动增加保存按钮
list_editable = (‘地市’,‘部门’,‘人才级别’,‘人才专业’)
# 按日期月份筛选 该属性一般不用
# date_hierarchy = [‘BBU集中改造完成时间’,‘具备电源改造条件时间’,‘勘察完成时间’,‘设计完成时间’,‘到货时间’,‘改造完成时间’]
# 按发布日期降序排序
ordering = (‘地市’,‘人才级别’)
# 搜索条件设置
search_fields = (‘姓名’,‘地市’,‘部门’,‘人才级别’)

# 增加自定义按钮

# fieldsets = (
#     ('基本信息', {
#         'fields': ('地市','站址名称','主设备厂家','站点配备电池容量',)
#     }),
#     ('时间进度', {
#         'fields': ('BBU集中改造完成时间','具备电源改造条件时间','勘察完成时间','设计完成时间','到货时间','改造完成时间')
#     }),
# )



# def has_delete_permission(self, request, obj=None):
#     # 禁用删除按钮
#     return Fals

# 只读字段
# readonly_fields = ('地市','站址名称','主设备厂家','站点配备电池容量',)
formfield_overrides = {
    models.CharField: {'widget': TextInput(attrs={'size':'20'})},
}

admin.site.register(personinfo,personadmin)

其中 formfield_overrides = {
models.CharField: {‘widget’: TextInput(attrs={‘size’:‘20’})},
}定义展现的字段宽度

用于注册models :admin.site.register(personinfo,personadmin)

4、在setting 中 定义url
SIMPLEUI_CONFIG = {
‘system_keep’: False, # 关闭系统菜单
‘menu_display’: [‘项目管理’,‘登录统计’,‘任务管理’, ‘信息管理’,‘网站管理’, ‘认证和授权’],
‘dynamic’: True, # 设置是否开启动态菜单, 默认为False. 如果开启, 则会在每次用户登陆时动态展示菜单内容
‘menus’: [{
‘app’: ‘Projectmanage’,
‘name’: ‘项目管理’,
‘icon’: ‘fab fa-app-store-ios’,
‘models’: [{
‘name’: ‘项目进度填报’,
‘icon’: ‘fa fa-user’,
‘url’: ‘Baseinfo/personinfo/’
},

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值