本篇内容主要讲解“web自动化平台开发的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“web自动化平台开发的知识点有哪些”吧!
模型设计中的枚举值
在前期的准备过程中,最开始写页面的时候,对于枚举值都是在MTV的M层来定义,我在models.py文件里面做了很多的配置,但是发现按照这种扩展的方式,后期处理就很尴尬了。因为ORM层面的映射是体现不出这种枚举值的差异的。而且数据从后端到前端,还得逐个转换一般,比如这种方式,在实际的前端页面中,还需要二次过滤,看起来实现了配置化,但是效率确实不高。
class Cmdb_server(models.Model):
db_types_choices = (
('mysql', u'MySQL'),
('redis', u'Redis'),
('greenplum', u'GreenPlum'),
)
db_role_choices =(
('master', u'Master'),
('slave', u'Slave'),
)
server_status_choices = (
('1','online'),
('0','fault'),
('2','offline'),
)
server_os_hostname = models.CharField(max_length=50,verbose_name='主机名')
所以越是扩展和改变代码,发现这个地方越来越是一个坑,所以在后面果断使用了数据字典的配置方式来统一管控。
动态二级菜单
我希望实现的一个比较规范的功能就是动态菜单,即不同权限的用户看到的菜单项是不同的。前后改了好几版,总算是把整个流程调通了。
设计到细节的时候,发现很容易有使用的歧义或者不明确的地方。
二级菜单的设计真是一把辛酸泪,最开始感觉这个很简单,一个for循环能够搞定,但是落实到代码层面,琢磨了很多想法,发现自己最开始的切入点就不太对,循环输出HTML标签,结束标签的循环就是一个技巧了。
写了很多版本,至少有6个版本,有的菜单不够稳定,有的显示出来乱七八糟的。拿着代码反反复复看了多遍,赶紧还是有点抓耳挠腮的感觉,于是乎直接把关键代码打印出来,在那儿盘算了一会,总算是得出了满意的答案。
改造一个统一的模板
开发这个平台的时候,如果为了降低开发的难度,提高资源的可重复效率,是用统一的模板,然后在这个基础上修修改改即可。但是实际上自己看了很多原型之后,发现目前的实现和现在的存在着较大的差异。所以这样一个件看起来不闹心的事情,自己就花了一些精力,专门来做统筹的工作。
按照优先级,否则易陷入死胡同
在开发的过程中,总是会冒出一些想法来,想自己能够实现一些比较好的功能,但是实际上,这个过程总是事与愿违。一个看起来简单的功能,想追求完美,但是实际这样下来,效率不高,效果反而会差一些。还是需要按照优先级来做,而不要总是被打断。
到此,相信大家对“web自动化平台开发的知识点有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。