OpenStack(kilo)界面dashboard的二次开发(二)-增加PanelGroup

上一博文开了一个头,简单的总结了下代码结构及Panel的增加,这一篇对Panelgroup的增加做一个详细的总结。

增加Panelgroup

Panelgroup字面意思很好理解就是panel组,在openstack的界面中就是多个panel的集合。上一次的代码分析中其实已经有了对PanelGroup的简单介绍,这次就看看如何增加panelgroup。

这次直接查看Admin(管理员)Dashboard下的dashboard.py

|-dashboard.py
from django.utils.translation import ugettext_lazy as _

import horizon


class SystemPanels(horizon.PanelGroup):
    slug = "admin"
    name = _("System")
    panels = ('overview', 'metering', 'hypervisors', 'aggregates',
              'instances', 'volumes', 'flavors', 'images',
              'networks', 'routers', 'defaults', 'metadata_defs', 'info', 'mypanel')   #上一篇博文中增加的mypanel


class Admin(horizon.Dashboard):
    name = _("Admin")
    slug = "admin"
    panels = (SystemPanels,)
    default_panel = 'overview'
    permissions = ('openstack.roles.admin',)


horizon.register(Admin)

以上代码中的class SystemPanels继承的是horizon的PanelGroup,说明该类就是描述‘系统’这个panelgroup的。现在模仿这个增加一个。

修改后的dashboard.py:

from django.utils.translation import ugettext_lazy as _

import horizon


class SystemPanels(horizon.PanelGroup):
    slug = "systempanel"
    name = _("System")
    panels = ('overview', 'metering', 'hypervisors', 'aggregates',
              'instances', 'volumes', 'flavors', 'images',
              'networks', 'routers', 'defaults', 'metadata_defs', 'info')

class MyPanels(horizon.PanelGroup):
    slug = "mypanelgroup"
    name = "Mypanelgroup"
    panels = ('mypanel',)


class Admin(horizon.Dashboard):
    name = _("Admin")
    slug = "admin"
    panels = (SystemPanels, MyPanels,)
    default_panel = 'overview'
    permissions = ('openstack.roles.admin',)


horizon.register(Admin)

将自己加的mypanel加到了这个Panelgroup中,然后重启一下httpd服务,查看页面如下:
这里写图片描述
更多精彩文章,请搜索微信公众号“扶艾”。我们定期分享OpenStack相关技术文章,在这里,只有纯干货
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值