昨天经OneZ提醒,注意看myghty中的一个机制autohandler,它相当于一个模板初始化的一个地方,可以在这里作为模板中的模板,规定header/footer的生成。具体细节还在看。杂事太多。咳,没时间。

autohandler是放在templates目录下,下午抽时间看了一下pylons的环境变量设置机制,尤其是如何对myghty进行设置的,myghty是怎么知道去寻找这些模板的。比如创建的是helloworld,在helloworld/helloworld/config目录下有environment.py,routing.py,middleware.py,其中routing.py是负责url mapping的设置,environment.py加载map,paths,myghty,然后到pylons.config.Config中进行环境的配置。

在environment.py中的paths默认加载controllers,templates,public三个目录,myghty用到的目录是public,templates和components。public是给静态页面的,templates存放myghty模板,给controller调用的。components里面的东西是给myghty模板自己调用的。components里面的东西,也可以放在templates里面。(OneZ的描述比我更准确)

pylons.config.Config中对这些.py中的变量,和.ini的信息进行装配,看它的代码主要是进行myghty的整体装配,从而简化myghty的使用。