前言

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)

主题选项菜单

python测试开发django-42.xadmin自定义菜单项的更多相关文章

  1. python测试开发django-44.xadmin自定义菜单项

    前言 xadmin后台的菜单项是放到一个app下的,并且里面的排序是按字母a-z排序,有时候我们需要划分多个项,需要自定义菜单列表,可以通过重写CommAdminView类实现. xadmin后台提供 ...

  2. python测试开发django-19.admin后台自定义显示

    前言 django的admin后台默认显示的内容很少,只显示了表的相关信息,查看字段内容需点开详情才能查看,不是很直观. 在admin.py文件里面是可以自定义相关的展示内容的,也可以添加搜索框,快速 ...

  3. python测试开发django-36.一对一(OneToOneField)关系查询

    前言 前面一篇在xadmin后台一个页面显示2个关联表(OneToOneField)的字段,使用inlines内联显示.本篇继续学习一对一(OneToOneField)关系的查询. 上一篇list_d ...

  4. python测试开发django-41.crispy-forms设计标签式导航菜单(TabHolder)

    前言 xadmin的详情页面主要是用form_layout布局,学会了完全可以不用写html代码,也能做出很好看的页面. xadmin的html页面是用的Bootstrap3框架设计的,layout布 ...

  5. python测试开发django-16.JsonResponse返回中文编码问题

    前言 django查询到的结果,用JsonResponse返回在页面上显示类似于\u4e2d\u6587 ,注意这个不叫乱码,这个是unicode编码,python3默认返回的编码 遇到问题 接着前面 ...

  6. python测试开发django-15.查询结果转json(serializers)

    前言 django查询数据库返回的是可迭代的queryset序列,如果不太习惯这种数据的话,可以用serializers方法转成json数据,更直观 返回json数据,需要用到JsonResponse ...

  7. 2019第一期《python测试开发》课程,10月13号开学

    2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20: ...

  8. python测试开发django-rest-framework-63.基于函数的视图(@api_view())

    前言 上一篇讲了基于类的视图,在REST framework中,你也可以使用常规的基于函数的视图.它提供了一组简单的装饰器,用来包装你的视图函数, 以确保视图函数会收到Request(而不是Djang ...

  9. 《Python测试开发技术栈—巴哥职场进化记》—前言

    写在前面 今年从4月份开始写一本讲Python测试开发技术栈的书,主要有两个目的,第一是将自己掌握的一些内容分享给大家,第二是希望自己能系统的梳理和学习Python相关的技术栈.当时我本来打算以故事体 ...

随机推荐

  1. 【GMT43智能液晶模块】例程十四:MODBUS TCP实验——电源监控

    . 源代码下载链接: 链接:https://pan.baidu.com/s/1S8wZBJBYGxuPaWEkJvMJlg 提取码:5bh3 复制这段内容后打开百度网盘手机App,操作更方便哦 GMT ...

  2. Jmeter做压力测试

    1)首先双击bin/jmeter.bat 2)创建Thread Group 3)配置HTTP Request 4)配置Aggregate Report 5)配置并发数和并发时间 6)点击绿色按钮,执行 ...

  3. mysql数据库每天备份

    以备份mysql下的test数据库为例,备份到/home/data 使用mysqldunp命令 dump.sh mysqldump -h127. -uadmin -P3306 -ppassword t ...

  4. Docker Compose 部署Nginx服务实现负载均衡

    Compose简介: Compose是Docker容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,使用Docker Compose,不再需要使用shell脚本来启动容器.Comp ...

  5. lnmp卸载删除多余的php版本

    /etc/init.d/php-fpm5.3 stoprm -rf /usr/local/php5.3rm -f /etc/init.d/php-fpm5.3rm -f /usr/local/ngin ...

  6. 瀚云平台kafka简单原理

    客户端利用kafka 硬件 创建 productkey,cmd-productkey,conn-productkey为主题,代表设备数据,设备命令,设备事件. 客户端去订阅这三个主题 数据推送模拟器, ...

  7. Python爬虫:现学现用xpath爬取豆瓣音乐

    爬虫的抓取方式有好几种,正则表达式,Lxml(xpath)与BeautifulSoup,我在网上查了一下资料,了解到三者之间的使用难度与性能 三种爬虫方式的对比. 这样一比较我我选择了Lxml(xpa ...

  8. Python中的sync和wait函数的使用

    转自这篇博文,备忘: https://blog.csdn.net/Likianta/article/details/90123678 https://www.cnblogs.com/xinghun85 ...

  9. 第4课,python 条件语句if用法

    主题: 智能对话程序的设计 前言: 在编程中存在三大逻辑结构:顺序结构,分支结构(用条件语句if构成),循环结构.其中循环结构能完成,重复次数多,庞大的工作: 分支结构优势不在完成的多,但占有重要位置 ...

  10. Taylor()函数总结

    Taylor()函数总结 Taylor展开式公式的具体形式见百度百科:https://baike.baidu.com/item/%E6%B3%B0%E5%8B%92%E5%85%AC%E5%BC%8F ...