freely

环境:python3.5.2 ,django 2.0 ,xadmin2.0

Firsttly,

到 https://github.com/sshwsfc/xadmin/tree/django2上下载源码,之后把其中的xadmin目录放在项目目录中新建的extra_apps这个目录中

 

Secondly,

将extra_apps mark as source root ,然后在settings中将其导入到python 的搜索目录中

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# 文件目录导入到搜索路径中
sys.path.insert(0, os.path.join(BASE_DIR, "apps"))
sys.path.insert(0, os.path.join(BASE_DIR,"extra_apps"))

然后,install xadmin所需的第三方库

pip3 install -r requirements.txt

Thirdly,

在settings.py中我们还需要导入以下几个app

INSTALLED_APPS = [
    ......
    \'xadmin\',
    \'crispy_forms\',
    \'reversion\',
]

Fourthly,

在urls.py中也需要对其的路径进行下配置

from extra_apps import xadmin
urlpatterns = [
    #path(\'admin/\', admin.site.urls),
    path(\'xadmin/\', xadmin.site.urls),
]

 Fifthly,相关设置

后台数据展示

在当前apps下创建xadmin.py文件,注意只能是adminx.py文件

class ModelObjectAdmin(object):
    
    # 排除一些不想被其他人编辑的fields,不包含在内的字段不能编辑
    fields = (\'fields\',)
 
    # 数据展示显示,列表中展示哪些字段信息
    list_display = [“fields”,]

    # 筛选(后台管理页面中的过滤器)
    list_filter = [\'fields\']

    # 查询 ,指定哪些字段信息可以被搜索
    search_fields =[ \'fields\']

    # 后台自定义默认排序 ,加‘-’表示降序
    ordering = [\'-fields\'] 

    # 添加日期过滤器,该字段只能是日期类型
     date_hierarchy = \'date_fields\' 

    # 后台直接在表上修改数据
    list_editable =  [\'fields\']

    # 自定义该表菜单的icon样式
    model_icon = \'fa fa-cog\'

    # xadmin/plugins/refresh插件定时刷新页面
    refresh_times = [60]  # 后台可选择10秒刷新一次或者60秒刷新一次

    # 后台自定义哪些字段只可读
    readonly_fields = [“fields”]

    # 列表显示的时候,指定的字段可以直接页面一键编辑
    list_editable = ["fields”]

    # 指定xadmin插件的样式
    style_fields = {\'roles\': \'m2m_transfer\',“article”:\'ueditor\'}

    # filter_horizontal 从‘多选框’的形式改变为‘过滤器’的方式,水平排列过滤器,必须是一个 ManyToManyField类型,且不能用于 ForeignKey字段
    filter_horizontal = (\'fields\',)

    # 同上filter_horizontal,垂直排列过滤器
    filter_vertical = ["fields",]

    #  将ForeignKey字段从‘下拉框’改变为‘文本框’显示
    raw_id_fields = [\'fields\',]

    # 在编辑和查看列表时指定不显示的字段
    exclude = [\'fields\']

    # 在指定的字段后添加一个显示数据详情的一个按钮
    show_detail_fields=[\'fields\']
    
    # 后台自定义不是下拉选择框,而是搜索框
relfield_style = \'fk-ajax\'

xadmin.site.register(ModelObject, ModelObjectAdmin)

 基础设置

from xadmin import views

class BaseSetting(object):
    enable_themes = True   #开启主题选择
    use_bootswatch = True

class GlobalSettings(object):
    site_title = "xx后台管理系统"      #设置头标题
    site_footer = " "      #设置脚标题 (设置底部关于版权信息)
 #设置菜单缩放
    menu_style = "accordion"   #设置菜单样式

xadmin.site.register(views.BaseAdminView, BaseSetting)
xadmin.site.register(views.CommAdminView, GlobalSettings)

中文显示和时区设置

# LANGUAGE_CODE = \'en-us\'
LANGUAGE_CODE = \'zh-hans\'
  
# TIME_ZONE = \'UTC\'
TIME_ZONE = \'Asia/Shanghai\'

app标题设置

app下的apps.py文件

class UserConfig(AppConfig):
    name = \'apps.user\'
    verbose_name="用户管理"

 

分类:

技术点:

相关文章: