0.2.4¶
修正 ORM 与 SQLAlchemy 0.9.1 不兼容的Bug. 旧的写法:
cond = None cond = (Blog.c.id==5) & None在 0.9.1 中将不是正确的,因为 None 不会被忽略掉(0.8.x 只在 and 时会这样), 所以你可以将
cond = None改为:from sqlalchemy.sql import true cond = true()或者
from uliweb.orm import true cond = true()向 functions 中添加
__contains__, 这样如果要检查一个 API 是否在 functions 中存在,只要:'flash' in functions- 重构 generic.py, 删除对
functions.flash和functions.get_fileserving的缺省依赖。 修复在 view 函数中对
yield的支持, 你还可以在 gevent 环境中使用,例如:@expose('/test') def test(): yield "<ul>" for i in range(10): yield "<li>%d</li>" % (i + 1) sleep(1) yield "</ul>"- 修复
rawsql()在不同数据库引擎中出错的 bug - 修复
jsonp()在处理中文时的 bug 添加
trim_path()函数向utils/common.py这,可以用它将一个路径处理为指定长 度,过长的部分会转为...>>> a = '/project/apps/default/settings.ini' >>> trim_path(a, 30) '.../apps/default/settings.ini'缺省的限制长度是 30。
在命令行使用了
-v参数时,将输出 ORM 连接信息。并且口令将会替換为'*',例如:$>uliweb syncdb -v Connection : mysql://blog:***@localhost/blog?charset=utf8 [default] Creating [1/1, blog] blog...EXISTED添加
makeapp命令可以一次创建多个 app 的支持,如使用:uliweb makeapp a b c一次创建
a,b,capp。重构
save_file()的处理, 添加headers和convertors参数。headers用于创建 csv 的头时,以替換原来字段的名字,但是你也可以象下面来 创建别名:User.c.username.label(u"Name")而
convertors用于转換字段的值,例如:def name(value, data): """ value is the column value data is the current record object """ return value + 'test' save_file(do_(select([User.c.name])), 'test.csv', convertors={'name':name})- 修复
call_view()调用wrap_resultbug。