第三百八十一节,Django+Xadmin打造上线标准的在线教育平台—xadmin全局配置
时间:2019-12-11
本文章向大家介绍第三百八十一节,Django+Xadmin打造上线标准的在线教育平台—xadmin全局配置,主要包括第三百八十一节,Django+Xadmin打造上线标准的在线教育平台—xadmin全局配置使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
第三百八十一节,Django+Xadmin打造上线标准的在线教育平台—xadmin全局配置
1、xadmin主题设置
要使用xadmin主题,需要在一个app下的adminx.py后台注册文件里,写一个主题管理器绑定xadmin的views.BaseAdminView注册
一般我们会在用户相关的app下的adminx.py后台注册文件里写
#!/usr/bin/env python # -*- coding:utf8 -*- import xadmin from xadmin import views # 导入xadmin的views from .models import Users, Email, Banner class BasdSetting(object): # 主题管理器 enable_themes = True # 使用主题 use_bootswatch = True xadmin.site.register(views.BaseAdminView, BasdSetting) # 将主题管理器绑定views.BaseAdminView注册 class UsersAdmin(object): # 自定义用户信息数据表管理器类 # 设置xadmin后台显示字段 list_display = ['username', 'password', 'nick_name', 'gender', 'email', 'address', 'mobile', 'first_name', 'last_name', 'is_active', 'birday', 'last_login', 'date_joined'] # 设置xadmin后台搜索字段,注意:搜索字段如果有时间类型会报错 search_fields = ['username', 'password', 'nick_name', 'gender', 'email', 'address', 'mobile'] # 设置xadmin后台过滤器帅选字段,时间用过滤器来做 list_filter = ['username', 'password', 'nick_name', 'gender', 'email', 'address', 'mobile', 'first_name', 'last_name', 'is_active', 'birday', 'last_login', 'date_joined'] xadmin.site.register(Users, UsersAdmin) # 将户信息数据表注册到xadmin后台显示 class EmailAdmin(object): list_display = ['code', 'email', 'send_type', 'send_time'] search_fields = ['code', 'email', 'send_type'] list_filter = ['code', 'email', 'send_type', 'send_time'] xadmin.site.register(Email, EmailAdmin) class BannerAdmin(object): list_display = ['title', 'index', 'image', 'url', 'add_time'] search_fields = ['title', 'index', 'image', 'url'] list_filter = ['title', 'index', 'image', 'url', 'add_time'] xadmin.site.register(Banner, BannerAdmin)
2、头部系统名称和底部版权以及导航折叠设置
需要在一个app下的adminx.py后台注册文件里,写一个头部系统名称和底部版权管理器绑定xadmin的views.CommAdminView注册
一般我们会在用户相关的app下的adminx.py后台注册文件里写
import xadmin from xadmin import views # 导入xadmin的views from .models import Users, Email, Banner class BasdSetting(object): # 主题管理器 enable_themes = True # 使用主题 use_bootswatch = True xadmin.site.register(views.BaseAdminView, BasdSetting) # 将主题管理器绑定views.BaseAdminView注册 class GlobalSettings(object): # 头部系统名称和底部版权管理器 site_title = '玉秀管理系统' # 头部系统名称 site_footer = '玉秀管理系统,玉秀公司版权所有' # 底部版权 menu_style = 'accordion' # 设置数据管理导航折叠,以每一个app为一个折叠框 xadmin.site.register(views.CommAdminView, GlobalSettings) # 头部系统名称和底部版权管理器绑定views.CommAdminView注册 class UsersAdmin(object): # 自定义用户信息数据表管理器类 # 设置xadmin后台显示字段 list_display = ['username', 'password', 'nick_name', 'gender', 'email', 'address', 'mobile', 'first_name', 'last_name', 'is_active', 'birday', 'last_login', 'date_joined'] # 设置xadmin后台搜索字段,注意:搜索字段如果有时间类型会报错 search_fields = ['username', 'password', 'nick_name', 'gender', 'email', 'address', 'mobile'] # 设置xadmin后台过滤器帅选字段,时间用过滤器来做 list_filter = ['username', 'password', 'nick_name', 'gender', 'email', 'address', 'mobile', 'first_name', 'last_name', 'is_active', 'birday', 'last_login', 'date_joined'] xadmin.site.register(Users, UsersAdmin) # 将户信息数据表注册到xadmin后台显示 class EmailAdmin(object): list_display = ['code', 'email', 'send_type', 'send_time'] search_fields = ['code', 'email', 'send_type'] list_filter = ['code', 'email', 'send_type', 'send_time'] xadmin.site.register(Email, EmailAdmin) class BannerAdmin(object): list_display = ['title', 'index', 'image', 'url', 'add_time'] search_fields = ['title', 'index', 'image', 'url'] list_filter = ['title', 'index', 'image', 'url', 'add_time'] xadmin.site.register(Banner, BannerAdmin)
3、导航app名称设置成中文,需要以下两步
在当前app目录下的apps.py文件里配置后台要显示的中文名称
apps.py文件
#!/usr/bin/env python # -*- coding:utf-8 -*- from django.apps import AppConfig class AppCoursesConfig(AppConfig): name = 'app_courses' # 当前app名称 verbose_name = '课程管理' # 要设置的中文名称
在当前app目录下的__init__.py文件里应用app中文名称设置类的路径
default_app_config = app中文名称设置类的路径,从app开始到类
__init__.py文件
default_app_config = 'app_courses.apps.AppCoursesConfig'
原文地址:https://www.cnblogs.com/aooy/p/12022103.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 小程序返回的时间戳转化成时间
- 小程序使用 组件库 vant-weapp详细教程
- 小程序数据渲染根据返回值计算百分比并且显示
- JS获取当前系统时间戳的方法
- TensorFlow 2建立神经网络分类模型——以iris数据为例
- 突击并发编程JUC系列-阻塞队列 BlockingQueue
- Matlab建立SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线
- Python安装TensorFlow 2、tf.keras和深度学习模型的定义
- TensorFlow2 keras深度学习:MLP,CNN,RNN
- Flutter ListView 局部刷新数据、ListView点赞收藏
- R语言公交地铁路线网络图实现数据挖掘实战
- R语言风险价值VaR(Value at Risk)和损失期望值ES(Expected shortfall)的估计
- R语言机器学习实战之多项式回归
- 5000字!带你零距离接触websocket!
- 使用 GitLab CI 和 Docker 自动部署 Spring Boot 应用