如何使用xadmin主题功能?
在ursersa app下的adminx.py文件下,注册一个基础设置类BaseSetting,并注册
import xadmin
from xadmin import views class BaseSetting(object): """是否应用主题""" enable_themes = True use_bootswatch = True # 主题注册 xadmin.site.register(views.BaseAdminView, BaseSetting)
如何设置后台左上角的log文字信息和底部信息并让每个app下的数据表收起来?
定义一个全局设置类GlobalSetting,有三个参数相关这个信息设置,并注册
import xamdin
from xadmin import views class GlobalSetting(object): """对后台管理标记信息进行命名,全局设置""" # 后台头部信息 site_title = '慕学后台管理系统' # 后台脚底信息 site_footer = '慕学在线网' # 左侧的app相关的表是否进行抽屉式收拢 menu_style = 'accordion' # 注册后台设置 xadmin.site.register(views.CommAdminView, GlobalSetting)
如何让后台中app显示为中文信息?
- 在每个app下,Django会自动生成一个叫apps.py的文件,在OrganizationsConfig类中添加一个字段 verbose_name = 指定中文信息
# _*_ encoding:utf-8 _*_ from __future__ import unicode_literals from django.apps import AppConfig class UsersConfig(AppConfig):
# app名字 name = 'users'
# 后台对应app显示的中文提示 verbose_name = u'用户信息' - 在每个app下__init__.py文件中加上引用,其实是每个UsersConfig类的路径
default_app_config = 'users.apps.UsersConfig'
default_app_config = “app名字.apps.apps中类名”
如何让每一条数据显示对象标识,易于辨认?
在每个model的表类的最后,添加一个uncode方法
def __unicode__(self): return self.name
python2中为__uncode__方法,在python3中为__str__方法
如何显示后台表数据中的列?
xadmin右上角有个工具菜单栏 显示列 , 按需求自行添加
但这出现一个问题:
重新再次点击这个表的时候,会把设置好的列恢复成没有设置之前
如何解决?
在adminx文件中每个app对应的表的Admin类中以下字段,还可以完成搜索字段、过滤字段的申明,并注册
1. list_display = [列名1, 列名2, ……]
表单显示出来的顺序和list_display中一样
2. search_fields = [列名1, 列名2, ……]
注意,这里不应该把时间这个字段添加进去,没法对时间进行search
3. list_filter = [列名1, 列名2, ……]
根据这个字段的数据类型,动态的添加各种不同的过滤规则逻辑,简化数据筛选过程
# _*_ encoding:utf-8 _*_ __author__ = 'beimenchuixue' __blog__ = 'http://www.cnblogs.com/2bjiujiu/' import xadmin from .models import EmailVerifyRecord, Banner from xadmin import views class GlobalSetting(object): """对后台管理标记信息进行命名,全局设置""" # 后台头部信息 site_title = '慕学后台管理系统' # 后台脚底信息 site_footer = '慕学在线网' # 左侧的app相关的表是否进行抽屉式收拢 menu_style = 'accordion' class EmailVerifyRecordAdmin(object): """对每个表,后台显示初始信息进行设置""" # list_display 定义显示列, search_fields表示搜索字段, list_filter表示筛选字段 list_display = ['code', 'email', 'send_type', 'send_time'] search_fields = ['code', 'email', 'send_type'] list_filter = ['code', 'email', 'send_type', 'send_time'] class BannerAdmin(object): """对每个表,后台显示初始信息进行设置""" list_display = ['title', 'image', 'url', 'index', 'add_time'] search_fields = ['title', 'image', 'url', 'index'] list_filter = ['title', 'image', 'url', 'index', 'add_time'] # 注册设置 # 注册表,第一张表用户邮箱验证码表,第二张是轮播图表 xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin) xadmin.site.register(Banner, BannerAdmin)