确定了再确定,官方文档上的2.1文档其实就是2.0文档.没什么区别.但是2.1其实跟2.0还是有比较大的改动了.
上一篇博文提出的模板的区别,其实是在quickstart的时候选择了mako模板,所以跟文档不一样.不过觉得mako模板也很容易懂,而且省略genshi的学习.不过因为要先照着famous wiki tutorial学习,所以重新建立了一个项目,不使用mako.
今天学习的复习.
1.在master.html中设定边框的设计,网页主题通过使用标签
2.
这句话的意思是将Page对象化查询,{dy}个pagename为pages_table中的字段名,第二个为传递过来的参数,即寻找pagename为参数的Page对象,one()指返回一个,我猜是{dy}个,没有实验过.
3. 2,0中的websetup.py在2,1中已经成为一个包含__init__.py,bootstrap.py,schema.py的websetup文件夹.不过内容没太多的变化,只是将websetup拆开了.放在三个模块里面.官方网站中的
4. 路径问题
在TG中,action即为路径,action后数据即为变量.如edit/FrontPage,即为将FrontPage传递给action.在TG中,路径似乎只能在RootController中的action实现,路径问题有待完善,这一点在讨论群组里面有提到.
5.遗留问题.
在edit action中page = DBSession.query(Page).filter_by(pagename = pagename).one()能找到页面.但是在save action中不能.疑问中.
现在感觉TG2,rails,ssh,很多东西很相似,不知道是不是我学得太浅的原因,还是其实web都是遵照相通的设计哲学.dive into it.. perhaps I can know it...
上一篇博文提出的模板的区别,其实是在quickstart的时候选择了mako模板,所以跟文档不一样.不过觉得mako模板也很容易懂,而且省略genshi的学习.不过因为要先照着famous wiki tutorial学习,所以重新建立了一个项目,不使用mako.
今天学习的复习.
1.在master.html中设定边框的设计,网页主题通过使用标签
<div class="main_content">来显示
2.
page = DBSession.query(Page).filter_by(pagename = pagename).one()
这句话的意思是将Page对象化查询,{dy}个pagename为pages_table中的字段名,第二个为传递过来的参数,即寻找pagename为参数的Page对象,one()指返回一个,我猜是{dy}个,没有实验过.
3. 2,0中的websetup.py在2,1中已经成为一个包含__init__.py,bootstrap.py,schema.py的websetup文件夹.不过内容没太多的变化,只是将websetup拆开了.放在三个模块里面.官方网站中的
page = model.Page("FrontPage", "initial data") model.DBSession.add(page)可以放在schema.py文件中,可以正常运行.
4. 路径问题
在TG中,action即为路径,action后数据即为变量.如edit/FrontPage,即为将FrontPage传递给action.在TG中,路径似乎只能在RootController中的action实现,路径问题有待完善,这一点在讨论群组里面有提到.
5.遗留问题.
在edit action中page = DBSession.query(Page).filter_by(pagename = pagename).one()能找到页面.但是在save action中不能.疑问中.
现在感觉TG2,rails,ssh,很多东西很相似,不知道是不是我学得太浅的原因,还是其实web都是遵照相通的设计哲学.dive into it.. perhaps I can know it...
评论
----------------------
.one()不是返回{dy}个,是返回{wy}的一个,如果结果集有一个以上,会抛出异常
.first()是返回{dy}个
深入使用tg之前,认真学习sqlalchemy,{jd1}事半功倍
详细参见pylons 相关章节,custom routes pylons,这些关键字自己google下
def my_setup_routes(self):
"""Setup the default TG2 routes
Overide this and setup your own routes maps if you want to use
custom routes.
"""
map = Mapper(directory=config['pylons.paths']['controllers'],
always_scan=config['debug'])
map.connect('/signup', controller='account', action='routes_placeholder')
map.connect('/home', controller='member', action='routes_placeholder')
# Setup a default route for the root of object dispatch
map.connect('*url', controller='root', action='routes_placeholder')
config['routes.map'] = map