- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自定义原子组件gtags
一、原子组件 是什么? 标准运维项目的核心设计思想是将运维操作场景拆分成一个个独立的原子组件,然后提供 方便组织管理这些原子组件的交互界面,将这些原子组件组织成各个运维场景的操作流 程。这里提到的原子组件的参数收集部分在标准运维项目内部称为gTags,负责展示原子 组件的参数录入及展示。如图1所示,是一个用于实现Job执行作业原子组件(gTags)的前 端页面。 图1:Job-执行作业原子组件(gTags)参数输入页面 二、原子组件(gTags) 的构成 通过前面的介绍,很快就会发现原子组件(gTags)跟前端中的form表单非常类似, 其实原 子组件(gTags)的实现思想就是form表单,但还是有些区别,原子组件(gTags)与form表 单主要有以下几点区别: (1) 原子组件(gTags)中基于每个输入项都是可勾选的,勾选之后的参数可以在任务创 建页面填写; (2) 原子组件(gTags)中的输入项并不是普通的form表单输入项,有些是复杂的插件, 比如带有哪些信誉好的足球投注网站功能的下拉框或autocomplete,目前标准运维项目主要采用kendo框架定义 用于前端输入的插件,用户也可以配置自己的bootstrap插件等; (3) 原子组件(gTags)中输入项校验规则不一样,勾选之后的输入项不进行校验,包含 变量引用的输入项也不校验,其它的情形与普通form表单字段校验一样; (4) 原子组件(gTags)模块还负责将前端页面输入的参数生成最终的执行模块可直接使 用的执行计划,以及执行计划的展示。 标准运维项目中实现的原子组件(gTags)主要由两部分构成: (1)输入项(field);负责输入字段的前端展示,交互,勾选和获取用户输入; (2)容器(container):负责输入字段的组织管理 ,生成执行计划,查看执行计划,重试 参数组装等接口管理。 三、快速上手-自定义 原子组件(gTags) a. 派生新类 class GetRequestTag(GtagsContainer): pass b. 定义属性 name = “GET请求组件” exec_map_key = “get_request” my_input_field1 = fields.SimpleInputTag(tag_code=”my_input_field1”, name=u”输入项一”) 至此:一个新tag就定义出来了,完整代码如下 class GetRequestTag(GtagsContainer): name = u”自定义组件” exec_map_key = “get_request” my_input_field1 = fields.SimpleURLTag(tag_code=”my_input_field1”, name=u”输入项一”) c. 定义执行任务类,并将gTag的执行类设置成定义的任务类(注意:任务 类名不要随便修改) pass d. 注册原子组件(gTags)到数据库 python manage.py auto_registry_gtags 打开标准运维任务模板编辑页面可看到新添加的tag,用新添加的tag建一个模板就可以开 始进行执行功能测试了 四、原子组件(gTags) API (1)输入字段类API说明 原子组件(gTags)中输入字段类主要负责输入项的前端展示,交互,校验和最终输入值的 提取。原子组件(gtags)输入字段类型主要支持两种类型,一种是dango .form .widget 提供的字段类型,另外一种是kendo插件,所有kendo插件的生成配置也是基于 django.form.widget的属性实现,用于可以根据这种实现方式 定义出自己的bootstrap 插件。 gcloud.gtags_framework.fields中提供了常用输入字段类的定义。比如定义一个 django.form.widgets.NumberInput用于让用户输入数字,也可以使用kendo NumericTextBox插件作为数字输入框。比如定义 class KendoNumericIntegerBoxTag(KendoWidgetTag): role = “numerictextbox” def init(self, **kwargs): super(KendoNumericIntegerBoxTag, self).__init__ (**kwargs) self._attributes.update({ “data-decimals”: 1, “data-format”: “n0”, “data-p
文档评论(0)