horizon层层注册顺序:horizon/base.py—–project/dashboard.py—–project/abc/panel.py
# horizon/base.py
# 定义Dashboard类、PanelGroup类和Panel类。
horizon = HorizonSite()
# project/dashboard.py
Class BasePanels(horizon.PanelGroup):
panels = (‘abc’,)# abc(Panel)注册在BasePanels(PanelGroup)
Class Project(horizon.Dashboard):
panels=(BasePanels,)# BasePanels注册在project
horizon.register(Project)# project(Dashboard)注册在全局horizon实例
# project/abc/panel.py
class Abc(horizon.Panel):
slug = "abc"
dashboard.Project.register(Abc)# 将Abc(Panel)实例注册在project(Dashboard)