Uliweb 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.flashfunctions.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, c app。

  • 重构 save_file() 的处理, 添加 headersconvertors 参数。

    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_result bug。

相关链接:

Uliweb项目地址 Uliweb文档地址

转载于:https://my.oschina.net/limodou/blog/192648

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值