Django_xadmin后台全局设置

如何使用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显示为中文信息?

  1. 在每个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'用户信息'
  2. 在每个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)

  

posted @ 2017-08-30 16:47  梦_鱼  阅读(387)  评论(0编辑  收藏  举报