【OpenStack】OpenStack系列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:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值