python测试开发django-42.xadmin自定义菜单项
2024-10-19 11:56:17
前言
xadmin后台的菜单项是放到一个app下的,并且里面的排序是按字母a-z排序,有时候我们需要划分多个项,需要自定义菜单列表,可以通过重写CommAdminView类实现。
xadmin后台提供了多个主题,可以通过use_bootswatch=True设置多个主题。
自定义菜单项
先定义get_site_menu方法,重写CommAdminView里面的get_site_menu方法,并返回一个list(或元组),CommAdminView源码如下
- site_title 左上角title内容
- site_footer 页面底部@后面内容
- menu_style = "accordion" 菜单样式默认折叠
- title: 显示的菜单项
- icon: 显示Font Awesome图标,可以在官网上找http://www.fontawesome.com.cn/
- menus:显示子菜单,可以是多个字典
- url: get_admin_url(name, *args, **kwargs) 便捷方法,方便的通过 name 取得 url,会加上 AdminSite.app_name 的 url namespace
# adminx.py
import xadmin
from xadmin import views
from .models import Student, Card
# 全局设置,最好放到adminx.py开头位置
class GlobalSettings(object):
site_title = "开发平台" # title内容
site_footer = "yoyo" # 底部@后面
# menu_style = "accordion" # 菜单折叠
# 自定义菜单
def get_site_menu(self):
return [
{
'title': '自定义菜单',
'icon': 'fa fa-bars', # Font Awesome图标
'menus':(
{
'title': 'Card表',
'icon': 'fa fa-bug',
'url': self.get_model_url(Card, 'changelist')
注意:changelist:为拼接的连接:.../项目名/card/
changelist
}, { 'title': 'a发邮件', 'icon': 'fa fa-envelope-o', 'url': self.get_model_url(Student, 'changelist'), } ) }, { 'title': 'Bug统计', 'icon': 'fa fa-bug', 'menus':( { 'title': 'Bug表', 'icon': 'fa fa-bug', 'url': "https://www.cnblogs.com/yoyoketang/" # 自定义跳转列表 },) } ] xadmin.site.register(views.CommAdminView, GlobalSettings)
页面显示效果
设置主题
bootswatch是一款基于bootstrap的汇集了多种风格的前端UI解决方案, 设置use_bootswatch可以选择多个主题
import xadmin
from xadmin import views
class ThemeSetting(object):
'''主题设置'''
enable_themes = True # 使用主题
use_bootswatch = True # bootswatch是一款基于bootstrap的汇集了多种风格的前端UI解决方案
xadmin.site.register(views.BaseAdminView, ThemeSetting)
主题选项菜单
最新文章
- C# WebBrowser控件使用教程与技巧收集
- Iptables防火墙
- Qt之密码框不可选中、复制、粘贴、无右键菜单等
- mysql表的一对一/一对多/多对多联系
- ThinkPHP CURD方法盘点:table方法
- 设置高级的Logstash 管道
- 不用第三方解码库取得图片宽高 附完整C++算法实现代码
- 第一周CTF (合天CTF)
- 通过for 来获取数组里面的电话
- 创建免密码sudo用户
- java运维: 一次线上问题排查所引发的思考
- LeetCode(867)
- linux日常运维常用命令
- MySQL中条件放在where后面与放在on后面的区别
- 外部函数/external
- 优化网站设计(十):最小化JAVASCRIPT和CSS
- shiro 权限 URL 配置细节
- Collection集合的带All功能的测试
- 利用yum安装时,报错 [Errno 256] No more mirrors to try.
- nodejs中的exports和module.exports