Genshi笔记
来源:互联网 发布:2016中国民营经济数据 编辑:程序博客网 时间:2024/06/05 02:56
正式决定从KID改到Genshi。虽然Jinja的性能的确好,但是Script风格的Web template毕竟还是不如XML风格的好看和规范。试了一下发现,Genshi与KID的差别也不是很大,迁移过来还是很方便的。
Genshi是一个日文词汇“原糸(げんし)”——咋又是日本人整出来的捏?啥时国人能整出点像样的东东来,别只会弄些烧香的熊猫之类,一点建设性都木有——它的设计目标就是修改KID以提供更好的性能。
不过试用Genshi还是碰到一些困难,最主要的是因为我对KID也不熟,而Genshi的资料又太少,除了一个并不详尽的Guide以外,就是一个Example。研究了一阵才理出一点头绪,这里就拿Example来说明一下吧。
把下载的Genshi压缩包解开后,在examples/turbogears下是一个完整的例子,它的创建方法与标准的project(使用KID)是完全一样的。不同之处主要有两个:
1、需要修改config/app.cfg
2、修改templates下的模板文件
app.cfg的修改很简单,把其中kid.xxx的项目都注释掉,再增加如下一行内容:
tg.defaultview = "genshi"
修改模板文件则要麻烦一些。主要是几个方面:
1、TG默认的KID基本模板sitetemplate不能用了,需要把Genshi的Example里的那个sitetemplate.html拿来用。
2、模板的xmlns不同,模板的继承方式不同(详见Example);注意:在Genshi里,最终要用于显示的模板,在include标记中不能包含fallback标记。
3、其它XML tag不同。
列简表如下:
KID Genshi xmlns xmlns:py="http://purl.org/kid/ns#" xmlns:py="http://genshi.edgewall.org/"xmlns:xi="http://www.w3.org/2001/XInclude"
继承 py:extends="sitetemplate"
不过在最终显示页面的模板(即不是用于被继承的模板)是这样的:
其它XML tag
(如在master模板中包含
welcome模板内容的部分位置)
基本上就是这样,更多的东东还在研究中。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1514168
- Genshi笔记
- Genshi笔记
- Genshi笔记
- Genshi笔记
- Genshi笔记
- Genshi笔记
- Genshi笔记
- Genshi笔记
- Genshi笔记
- Genshi笔记
- Genshi笔记
- Genshi笔记
- Genshi笔记
- Genshi笔记
- Genshi笔记
- Genshi笔记(续)
- 笔记
- 笔记
- Windows API一日一练(25)CreateSolidBrush函数
- Windows API一日一练(40)CreateRectRgn和CombineRgn函数
- Windows API一日一练(42)CreateThread函数
- Windows API一日一练(53)CreateFile函数
- Windows API一日一练(38)SetWindowPos函数
- Genshi笔记
- Windows API一日一练(50)SuspendThread和ResumeThread函数
- Windows API一日一练(24)DrawText函数
- Windows API一日一练(25)CreateSolidBrush函数
- Windows API一日一练(47)CreateSemaphore和ReleaseSemaphore函数
- 好的服务器系统
- LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- Windows API一日一练(24)DrawText函数