一、Horizon 源代码
Horizon 源代码下主要分为两个子目录:horizon 和 openstack_dashboard
Horzion目录下基本是都是基于Djando写成通用组件。例如:table,tab,form,这些代码和openstack上各个模块的实现没有具体的关系,但是在安装完成后,/usr/share/opnestack-dashborad目录下关于dashboard代码会继承以及引用horzion下的类。
具体的继承关系为:
django <- horizon <- dashboard
openstack_dashboard目录下是dashborad的组成文件。对页面的改动基本都是在这个文件夹下。各个文件夹的作用:
API:和openstack 其他组件连接的代码。获取其他组件的信息以显示在页面上。
conf : openstack 其他组件的服务需要的权限。是否需要admin或者owner
local : 一些有关web界面的配置问题,比如是否需要ssl
locale: 各个国家的语言包
static :一些css文件和格式
dashboard: 所有页面的文件,修改页面基本就在这个页面修改。
template: 一些页面的模板文件,如404
二、工具
除了可以使用vim,有一个特别有用的IDE:Wing
专门用来开发python 程序,亲测在centos xia比特别著名的pycharm好用多了,缺点是只有十天的试用期,过了试用期需要购买。
wing 有一个非常方便的功能,就是可以找到一个类或者函数定义的源代码。