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/’
},