发布于 2014-09-19 09:47:19 | 298 次阅读 | 评论: 0 | 来源: 网友投递
Uliweb Python Web开发框架
Uliweb是国人开发的一个开放源代码的Python Web Framework,Uliweb并不是一个从头开始的框架,它使用了一些较为成熟的库,如:用来进行命令行、URL映射、Debug等核心处理的Werkzeug; 用来生成和处理请求、响应对象的webob;强大的ORM库SqlAlchemy等等。
Uliweb 0.4 发布,更新内容如下:
修正 Pickle 缺省值Bug,将不会自动将空值转为 ''
修正当存在 group_by, limit, join 时的 count 的实现,将使用 select count(*) from (select * from table)
修正 uliweb load 在处理cvs格式时的Bug,感谢 taogeT
修正 tmp/templates_temp 创建Bug
修正显示模板块顺序不正确的Bug
使用tornado的模板代码重构uliweb的模板实现,具体变化内容详见 模板
添加 staticize 命令,实现静态化
添加 __debug__ 参数用于跟踪 i18n 语言的变化
ORM多数据库配置时,增加复制的支持,你可以在 CONNECTIONS 配置项中进行设置
向 ORM 中添加 set_session() 函数
向ORM中的 Property 类添加 fieldname 参数
向 load 和 loadtable 添加 -z 参数,感谢 linuxr
向模板的 Loader.load() 方法添加 layout 参数,可以用来实现动态模板继承
添加 validatetemplate 命令,可以用来检查项目,app或单个模板的语法是否正确。可以方便用来检查升级到0.4后的模板问题。 详情参见 validatetemplate
Uliweb是一个新的Python Web Framework,它之所以会产生是因为现有的框架多少有些令人不满意的地方,而且许多情况下这些不满意的地方或多或少对于Web开发有影响,因此在经 过对不少框架的学习之后,我决定开发一个新的框架,希望可以综合我认为其它框架中尽可能多的优点,同时使这个新的框架尽可能的简单,易于上手和使用。不过 这个框架目前主要还是一个人在做,并且是业余在做,所以在进度上相对要慢一些。
Uliweb并不是一个从头开始的框架,它使用了一些较为成熟的库,如:用来进行命令行、URL映射、Debug等核心处理的Werkzeug; 用来生成和处理请求、响应对象的webob;强大的ORM库SqlAlchemy等等。Uliweb在开发 中还借鉴了象web2py的 Template模板模块,Django的一些设计思想和成果。
Uliweb是采用类Django的MVT的模型,整个项目将由若干个相对独立的app构成,每个app将有自已的配置文件,templates目 录,static目录等。URL可以自动映射也可以手动映射。模板中可以直接嵌入Python代码,但是你不需要关心代码的缩近,只要注意在块结束前加上 pass语句。对数据库的处理使用ORM的方式进行处理,同时你还可以直接使用底层的SQLAlchemy模块。支持代码和模板中的i18n的处理。 Uliweb还从Ulipad中移植了Plugin机制,可以方便地在框架中添加用户特殊的处理。通过提供的命令行工具可以执行象启动开发服务器,导出源 代码等操作。现在Uliweb可以在GAE,mod_wsgi,fastcgi,scgi,cgi等多种环境下部署。
除此之外,Uliweb框架中包含众多自有的创新,如可用来生成HTML代码和对上传的数据进行校验的Form处理,包括对模板和页面的i18n处理,框 架处理代码,从Ulipad中移植并进行了改造的插件机制。
值得一提的是,Uliweb框架中将开发自己的ORM 机制Uliorm,Uliorm在SqlAlchemy基础之上进行封装,同时参考了GAE中datastore的代码。