以前是把数据传给Html模板来渲染成最终的页面。 那我们完全可以按照所应用模板的语法写一个非html的模板:配置文件模板(该模板中就定义了上述复杂配置结构),而后将上述数据传进这个模板来进行渲染就生成了最终的复杂数据结构配置文件内容,最后将之写入一个文件就最终生成了:拥有复杂数据结构的配置文件!
比如我们用mako模板方法写一个配置文件模板,内容如下:
$mysqlconfig = array(
'host'=>${sqlhost},
'port'=> ${sqlport},
'passwd'=>${sqlpwd},
'user'=>${sqluser},
);
$redisconfig = array(
'host'=>${redishost},
'port'=> ${redisport},
'passwd'=>${redipwd},
'user'=>${rediSUSEr},
);
$domian = ${domain};
而后我们将用户传进来的配置信息传递给这个模板进行渲染,生成最终的配置文件内容,之后将这些文件写入文件。这个最终的文件就是拥有复杂数据结构的配置文件了!
所以模板技术不仅仅是用于前端的,后端自动化也完全可以使用。
所以综合上述①②:我们为了自动生成具有复杂结构的配置文件:
需要实现一个python脚本,让用户命令行参数传入配置信息,而后依据这些配置信息来渲染事先指定的配置模板并将结构写入文件就可以了!
这样用户只要执行一条命令就可以自动生成一个复杂数据结构的配置文件。
③我们一个web服务可能有很多服务组建支持,比如我们用到了memcache,cgi,mysql·····那如果从0开始搭建来启动这个程序,我们就需要执行多条命令来分别启动各个服务组建!而且每一个服务组件的启动还要添加很多命令行参数,比如指定端口,日志文件路径····· 这整个过程太复杂了!
我们希望达到的状态是:用户就一条命令就可以启动所有服务!并且不需要加如何参数!