Openstack dashboard 编辑对话框分析

来源:互联网 发布:广西网络问政 编辑:程序博客网 时间:2024/05/22 03:49


【备注】最近因为工作需要接触了下前端horizon的开发,总结了下经验,先将资料分享出来,大家知道一下。代码分析为J版。

本文所说的Dialog主要为直接的对话框(如编辑,删除类)
  • 通过url定义导入到view视图类
            由于是一个对话框,所以一般继承一个form类,然后在类中定义form的内容和其对应的html一级成功与失败对应的url。

     下面来看updata.html和其中加载的 _update.html
_update.html 

  • 通过定义Form来控制对话框显示的内容

    这里特别留意这个基于了一个BaseUserForm的父类。
 上面的init实际是主要是主要是给project 提供显示的值和给project提供选项,因为是公共的所以做成了父类。而真正的,大多数form实际上都是在View中的get_initial函数中完成的初始化值提供,如下所示
说明,上图中的get_context_data 主要是因为要通过context传值,
# Data from URL are always in self.kwargs, here we pass the data # to the template.
如下图中update_project 就只有get_initial函数:
             根据上面的情况简单总结:
        一般初始的数据大部分都是在view中生成获取,其中一半是用_get_objetc函数来读取点选的是哪一个值(也即从url)中获取参数,
然后通过get_initial函数来获取form定义中的主要初始数据并按照定义的值返回;而form则只负责定义对话框的内容,和对话中如choice这些内容。并定义form的相应值也就是handle函数。


0 0