学以致用

focus on Python , C++, and some interest in Go and R

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年3月2日

摘要: 在webpy的整个framework中,我觉得最不合理也最失败的就属这个web.database的封装了。就我本人的理解,webpy对database的封装不说应该做到Django或者SQLAlchemy的水平,至少应该保持接口一致吧,但我们的webpy是什么样子呢?举个简单的例子,初始化一个database:对于sqlite是这样的:db = web.database(dbn = "sqlite", db = "./db.sqlite")但对于postgresql却是另外一个样子:db = web.database(dbn='postgres& 阅读全文
posted @ 2012-03-02 17:01 Jerry.Kwan 阅读(1884) 评论(1) 推荐(0) 编辑

摘要: 在使用webpy的session时经常会发现按照文档是说明构造的session用法却总是出错,和预想差异很大。通过跟踪webpy源码发现原来默认情况下webpy在session这块儿做了很多手脚。举例如下:(1)session不能在debug模式中使用(2)session不能在webpy内置的wsgi server中使用究其原因是因为webpy在debug或者内置wsgi server中使用的时候启用了模块级的reload,reloader 加载了主模块零次,一次是作为__main__被加载,一次是作为真正的文件被加载,这样就导致了程序中使用的session不是同一个。通过查看webpy源码中 阅读全文
posted @ 2012-03-02 16:27 Jerry.Kwan 阅读(1126) 评论(0) 推荐(0) 编辑

摘要: 在使用webpy时发现的web.application reload的猫腻,暂时记录下来,以便自己和他人参考。现象是这样的: 在配置文件中定义urls:urls = ( # front page "/", "app.controllers.base.index", "/index/", "app.controllers.base.index", ) 同时为了隐藏部分url对应关系,在程序中增加url映射关系如下:self._app.add_mapping(url_login, Login)sel... 阅读全文
posted @ 2012-03-02 16:14 Jerry.Kwan 阅读(1117) 评论(0) 推荐(0) 编辑