1. django概述
    1. http://djangobook.py3k.cn/2.0/chapter05/

    2. Django设计MVC理念

    3. Web工作流程

    4. 选择Django原因:MVC、admin管理、自动化ORM、everything is python。
    5. Django项目开发大概步骤

    6. 使用概述
      1. 项目与app,使用model特性必须创建app

    7. 可以使用pydev自带的django支持进行快速开发。新建project、新建app,配置urls,实现views。url高级用法,一般不这么使用。

    8. 模板、static、model逐步添加。Restful风格web开发。Settings.py需要正确设置:

      Views中可以直接渲染返回:

    9. 渲染可以带参数

    10. POST请求

    11. Django日志处理:配置log

      参考:http://davidbj.blog.51cto.com/4159484/1433741

  2. Horizon定制开发
    1. http://www.chenshake.com/secondary-development-of-openstack-dashboard/

      http://www.open-open.com/lib/view/open1389792987430.html

    2. 简介

      http://www.metacloud.com/openstack-horizon-controlling-cloud-using-django/

    3. Horizon定义公共的可以重用的组件,openstack_dashboard针对openstack的具体的组件,dashboards中为前端页面最主要的几个部分,包含每个pannel的前后端代码。如下图:

    4. Admin里面,两个pannelgroup

      并且只有admin可见:

    5. Dashboard扩展pannel

      参考:http://docs.openstack.org/developer/horizon/topics/tutorial.html

    6. 创建pannel

      cd /var/www/horizon目录下:

      mkdir openstack_dashboard/dashboards/admin/mypanel

      注册、自动生成相关代码结构:

      ./run_tests.sh -N -m startpanel mypanel --dashboard=openstack_dashboard.dashboards.admin --target=openstack_dashboard/dashboards/admin/mypanel

    7. 注册:修改admin下面的openstack_dashboard/dashboards/admin/dashboard.py,添加mypannel:

    8. 重启httpd,刷新页面,mypannel显示在页面中:

    9. Horizon定制开发可以参考:

      http://docs.openstack.org/developer/horizon/py-modindex.html

      http://my.oschina.net/zhouxingxing/blog/90283

      http://www.cloudcraft.cn/add-your-panel-ui-to-horizon/

      或者直接参考admin目录下面其他的代码即可。

      修改index.html文件:

      修改之后html会更新为修改内容。

    10. View可以通过context传递参数到前端。

      按照其他的模块,依葫芦画瓢,七改八改就搞定了。

    11. Pannel中dataview实现

      添加tables——修改views,引用tables——返回tables数据——前段渲染

      具体代码可以参考:

      https://github.com/yongluo2013/osf-openstack-training/blob/master/code/horizon/openstack_dashboard/dashboards/admin/documents/templates/documents/index.html

    12.  

附录:

013.Dashboard前端页面结构:

013.标准Django Application Stack:

013.增强Horizon application stack:

【OpenStack】OpenStack系列14之Dashboard定制开发的更多相关文章

  1. OpenStack实践系列⑧可视化服务Horizon之Dashboard演示

    OpenStack实践系列⑧可视化服务Horizon之Dashboard演示 七.可视化服务Horizon之Dashboard演示 仪表板依赖于功能核心服务,包括身份,图像服务,计算和网络两种(neu ...

  2. OpenStack实践系列⑨云硬盘服务Cinder

    OpenStack实践系列⑨云硬盘服务Cinder八.cinder8.1存储的三大分类 块存储:硬盘,磁盘阵列DAS,SAN存储 文件存储:nfs,GluserFS,Ceph(PB级分布式文件系统), ...

  3. OpenStack实践系列①openstack简介及基础环境部署

    OpenStack实践系列①openstack简介及基础环境部署 一.OpenStack初探1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运 ...

  4. OpenStack实践系列⑦深入理解neutron和虚拟机

    OpenStack实践系列⑦深入理解neutron和虚拟机 五.深入理解Neutron 5.1 虚拟机网卡和网桥 [root@node1 ~]# ifconfig brq65c11cc3-8e: fl ...

  5. OpenStack实践系列⑥构建虚拟机实例

    OpenStack实践系列⑥构建虚拟机实例 四.创建一台虚拟机图解网络,并创建一个真实的桥接网络 创建一个单一扁平网络(名字:flat),网络类型为flat,网络适共享的(share),网络提供者:p ...

  6. OpenStack实践系列⑤网络服务Neutron

    OpenStack实践系列⑤网络服务Neutron 3.8 Neturn 服务部署 注册neutron服务 [root@node1 ~]# source admin-openrc.sh [root@n ...

  7. OpenStack实践系列④计算服务Nova

    OpenStack实践系列④计算服务Nova 3.6 Nova控制节点的部署创建服务的凭证,完成下列步骤: 创建nova用户,并加入到service项目中,赋予admin权限 [root@node1 ...

  8. OpenStack实践系列③镜像服务Glance

    OpenStack实践系列③镜像服务Glance 3.5 Glance部署 修改glance-api和glance-registry的配置文件,同步数据库 [root@node1 ~]# vim /e ...

  9. OpenStack实践系列②认证服务Keystone

    OpenStack实践系列②认证服务Keystone 三.实战OpenStack之控制节点3.1 CentOS7的时间同步服务器chrony 下载chrony # yum install -y chr ...

随机推荐

  1. 泛——复习js高级第三版

    1:本地存储的几种方法: (1)cookie: (2)localStorage //园子的自动保存就用了本地存储 (3)sessionStorage (4)globalStorage (5)index ...

  2. Java设计模式-解释器模式(Interpreter)

    解释器模式是我们暂时的最后一讲,一般主要应用在OOP开发中的编译器的开发中,所以适用面比较窄. Context类是一个上下文环境类,Plus和Minus分别是用来计算的实现,代码如下: public ...

  3. 【POJ 2485】Highways(Prim最小生成树)

    题目 Prim算法:任选一个点,加入集合,找出和它最近的点,加入集合,然后用加入集合的点去更新其它点的最近距离......这题求最小生成树最大的边,于是每次更新一下最大边. #include < ...

  4. 13. (转) Android一些布局属性详解

    RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false     android:layout_centerHrizontal  水平居中      android:l ...

  5. 使用PPA在Ubuntu上安装php5.4~5.6,7

    使用PPA在Ubuntu上安装php5.4~5.6,7 sudo apt-get install software-properties-common sudo add-apt-repository ...

  6. spring事务学习(转账案例)(二)

    四.通过springAop进行事务管理 继续从第一个无事务操作的项目中进行更改. 只修改applicationContext.xml配置文件,注意设置transaction引用 <?xml ve ...

  7. android-详解Android 6.0运行时权限

    感谢郭神,从Android 6.0开始,不再是安装应用时用户确定获得全部的权限.而是在使用软件过程中需要该权限时,弹出对话框让用户选择权限.不仅如此,用户选择权限后还可以关闭. 检查是否获得权限 通过 ...

  8. Hadoop 2.2.0部署安装(笔记,单机安装)

    SSH无密安装与配置 具体配置步骤: ◎ 在root根目录下创建.ssh目录 (必须root用户登录) cd /root & mkdir .ssh chmod 700 .ssh & c ...

  9. gvim-ide plugins

    omnicppcomplete-0.41.zip after: ftplugin: c.vim,cpp.vim,两个文件的内容相同, 其中都只有一个call语句: call omni#cpp#comp ...

  10. Currency Exchange(Bellman-ford)

    Currency Exchange Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 21349   Accepted: 765 ...