# 安装xadmin
由于使⽤的是Django2.0的版本,所以需要安装xadmin项⽬django2分⽀的代码。
SBB
data_charts 控制显⽰图标的样式
model_icon 配置表的图标,可以在 awesome 上下载最新的font-awesome.css 替换,并寻相应的icon书写
fieldsets ,详细页⾯时,使⽤fieldsets标签对数据进⾏分割显⽰
empty_value_display = "列数据为空时,显⽰默认值"
# 列聚合,可⽤的值:"count","min","max","avg", "sum"
aggregate_fields = {"expire": "max"}
# 显⽰还原按钮,删除修改的信息可以还原
reversion_enable = True
# 添加数据时候,⼀步⼀步提供数据
wizard_form_list = [
("基础信息", ("name", "contact", "telphone", "address")),
("其它信息", ("customer_id", "expire", "description")),
]
fields 表单显⽰内容, 不包含在内的字段不能编辑
filter_horizontal 从‘多选框’的形式改变为‘过滤器’的⽅式,⽔平排列过滤器,必须是⼀个 ManyToManyField类型,且不能⽤于 ForeignKey字段,默认地,管理⼯具使raw_id_fields 将ForeignKey字段从‘下拉框’改变为‘⽂本框’显⽰
relfield_style 后台⾃定义不是下拉选择框,⽽是搜索框(解决了为什么⽤户不是下拉框的问题。。) relfield_style = 'fk-ajax'
exclude 在编辑和查看列表时指定不显⽰的字段
list_editable 列表显⽰的时候,指定的字段可以直接页⾯⼀键编辑
list_display_links 设置默认可编辑字段
list_per_page = 20 每页显⽰20个
actions = ('ocr_action', 'excel_action', 'auto_excel_action') 在类中⾃定义的函数⽅法
auto_excel_action.short_description='⾃动化导⼊数据⽂件' 函数名描述
object_list_template = "test.html" ⾃定义页⾯
data_charts 图表,该属性为dict类型,key为图表的标⽰名称,value为图表的具体设置属性
data_charts = {
"user_count": {'title': u"约运动",
"x-field": "sport_time",
"y-field": ("people_nums",),
},
}
图表属性:
title : 图表的显⽰名称
x-field : 图表的 X 轴数据列, ⼀般是⽇期, 时间等
y-field : 图表的 Y 轴数据列, 该项是⼀个 list, 可以同时设定多个列, 这样多个列的数据会在同⼀个图表中显⽰
order : 排序信息, 如果不写则使⽤数据列表的排序
# 导出类型
list_export = ('xls', 'xml', 'json') list_export设置为None来禁⽤数据导出功能
#导出字段
list_export_fields = ('start_people', 'sport', 'sport_time')
08-站点的全局配置
# settingx/adminx.py import xadmin
# app名为users下的apps.py
from django.apps import AppConfig
class UsersConfig(AppConfig):
# 设置app图标
app_icon = 'fa fa-line-chart'
# app名
name = 'users'
verbose_name = u'⽤户管理'
# __init__.py
default_app_config='users.apps.UsersConfig'
10-⾃定义导航菜单顺序
from xadmin import viewspython官方文档中文版
class GlobalSetting(object):
def get_site_menu(self):
return (
{'title': '课程管理', 'menus': (
{'title': '课程信息', 'url': _model_url(Course, 'changelist')},
{'title': '章节信息', 'url': _model_url(Lesson, 'changelist')},
{'title': '视频信息', 'url': _model_url(Video, 'changelist')},
{'title': '课程资源', 'url': _model_url(CourseResource, 'changelist')},
{'title': '课程评论', 'url': _model_url(CourseComments, 'changelist')},
)},
{'title': '机构管理', 'menus': (
{'title': '所在城市', 'url': _model_url(CityDict, 'changelist')},
{'title': '机构讲师', 'url': _model_url(Teacher, 'changelist')},
{'title': '机构信息', 'url': _model_url(CourseOrg, 'changelist')},
)},
{'title': '⽤户管理', 'menus': (
{'title': '⽤户信息', 'url': _model_url(UserProfile, 'changelist')},
{'title': '⽤户验证', 'url': _model_url(EmailVerifyRecord, 'changelist')},
{'title': '⽤户课程', 'url': _model_url(UserCourse, 'changelist')},
{'title': '⽤户收藏', 'url': _model_url(UserFavorite, 'changelist')},
{'title': '⽤户消息', 'url': _model_url(UserMessage, 'changelist')},
)
},
{'title': '系统管理', 'menus': (
{'title': '⽤户咨询', 'url': _model_url(UserAsk, 'changelist')},
{'title': '⾸页轮播', 'url': _model_url(Banner, 'changelist')},
{'title': '⽤户分组', 'url': _model_url(Group, 'changelist')},
{'title': '⽤户权限', 'url': _model_url(Permission, 'changelist')},
{'title': '⽇志记录', 'url': _model_url(Log, 'changelist')},
)},
ister(views.CommAdminView, GlobalSetting)
11-设置只读字段
在使⽤xadmin的时候,ModelAdmin默认只有对于model的增删改查,但是总是有些字段是不希望⽤户
来编辑的。⽽ readonly_fields 设置之后不管是admin还是其他⽤户都会变成只读,⽽我们通常只是想限制普通⽤户。 这时我们就可以通过重写 get_readonly_fields ⽅法来实现对特定⽤户的只读显⽰。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论