horizon项目简介
是openstack社区开源的一个dashboard平台,项目是基于django来实现,项目包含两个模块:horizon和openstack-dashboard app。horizon抽象封装了一堆d页面操作基类给openstack-dashboard app使用.
openstack-dashboard app 简介
openstack-dashboard封装了一些概念,比如:dashboard、panelgroup、panel和table的等等,多个panel组成一个panelgroup挂载在一个dashboard下。具体的逻辑是这样:horizon包里面有个基础的base.py,里面定义了一些最底层的类,比如HorizonComponent、Registry、PanelGroup。
Panel类是实现HorizonComponent类,本来HorizonComponent只是定义了一些访问的url,Panel实现以后加了一些属性,比如名字、静态模版
Dashboard类实现了Registry和HorizonComponent,意思是说我本身也是个Horizon的基础类,只是加了注册功能,用来做管理用的,换句话说就是我这个Dashboard类所管理的panelGroup会管理注册给我的panelGroup实例。和Panel类一样,它也加上了一些属性用来管理和显示。里面的方法基本上就是用来操作它所管理的这些panelGroup,比如获取,列表等等。其他的也一样,这些都是在horizon的init包里面去实现的,也就是说当openstack_dashboard导入horizon包的时候,会实例花这些类。先有