OpenStackOpenStack系列14之Dashboard定制开发

Posted junneyang 的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenStackOpenStack系列14之Dashboard定制开发相关的知识,希望对你有一定的参考价值。

  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:

技术分享

 

以上是关于OpenStackOpenStack系列14之Dashboard定制开发的主要内容,如果未能解决你的问题,请参考以下文章

OpenStackOpenStack系列12之OpenStack自动化测试详解

蓝牙BLE之DA1469x的应用

OpenStackOpenStack与云计算概述

GoldenGate系列之集成模式

14Python标准库系列之zipfile模块

dagger2系列之依赖方式