Uliweb 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Uliweb 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Uliweb 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 BSD
开发语言 Python 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发Web框架
开源组织
地区 国产
投 递 者 limodou
适用人群 未知
收录时间 2010-02-03

软件简介

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的代码。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(5)
发表了资讯
2016/05/21 00:00

Uliweb 0.5 和 0.5b1,0.5b0 发布,Python 的 Web 框架

Uliweb 0.5 发布,更新如下: 功能优化 增加 convert_bytes 函数,用来将大小转为 'K', 'M' 单位的字符串. expand_path 增加expandvars和expanduser的处理 #1f3609d 优化clean命令,增加排除参数 -x #9fcde0e 优化认证处理,增加 auth_type 到 authenticate ,感谢 Chunlin Zhang #e3435d2 在redis_cli中增加 get_lock, set_lock 函数, 增加一个mprpoplpush 的实现 #9dd6eb6 优化ini的处理,支持dict中的环境变量使用 优化reflectdb...

3
3
发表了资讯
2014/11/22 00:00

Uliweb 0.4.1 发布,Python 的 Web 框架

问题修复 修正 generic 中的 AddView 和 EditView 对 version的处理。当version为真时才会将version值 传入obj.save()中。而不是False时也自动传入。以避免表中无version字段时的出错。 修正对同一个view函数同时使用 expose('/') 和 expose('') 时不正确的bug。 修正在一个Model中多次使用 ManyToMany 使用 through 时 恢复 count() 的处理使用旧的方式,即使用条件来计算,而不是根所结果集,对于结果集情况需要自行处理,因为...

5
20
发表了资讯
2014/09/19 00:00

Uliweb 0.4 发布,Python 的 Web 框架

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 命令,...

13
27
发表了资讯
2014/07/04 00:00

Uliweb 0.3.1 发布,Python 的 Web 框架

这个版本是为了后面发布0.4版本的一个前置版本,因为0.4开始,模板系统的实现就要换掉了。 问题修复¶ 修复 include 在 ini 中的bug 修复在 orm.get() 中的condition判断bug 修复 recorder bug 功能优化¶ 增加 qqmail 邮件服务后端支持,感谢 Yubin Wang<harry198344 at="" gmail.com> <="" li=""> 增加 yes 命令行选项,删除 makeapp, makeproject 命令的 --force 选项 删除 Command 类中的 has_options 属性,改为根据 opti...

2
14
发表了资讯
2014/05/15 00:00

Uliweb 0.3 发布,Python 的 Web 框架

问题修复 修正 pyini 中 "key=" 的值为 r"" 字符串时的Bug 修正 objcache APP 中处理 Lazy 字段的Bug。改为:如果第一次发现有 Lazy 字段,将自动从数据库中刷新 修正在执行 ORM APP命令时,当出现异常但未抛出的Bug 修正 sync 命令在执行时,在 Model.__tablename__ 和 settings.ini 中配置名不一致的处理Bug 功能优化 优化 objcache APP 的实现,添加 exclude 的配置项 移动 uliweb/orm/middle*.py 到 uliweb/contrib/orm 目录...

18
16
发表了资讯
2014/03/08 00:00

Uliweb 0.2.6 发布

本次更新以Bug修复为主 増加在定义关系字段时,当引用Model不是字符串而是Model类时发出警告的提示。需 使用字符串名称。 修复在 ListView 和 SelectListView 中对 manual 和 total 处理的Bug。 修复 rawsql bug。 向 Generic ListView 中増加使用 get_object 的调用,使用缓存机制来处理引用对象。 修复 get_cached() Bug。 修复在 Generic 中 AddView 和 EditView 中处理 process_files() 的Bug。 在进入 Shell 环境前増加对调...

5
7
发表了资讯
2014/02/16 00:00

Uliweb 0.2.5 发布,灵活易用的 Python 框架

本次更新内容如下: 修复 config 的模板,添加 uwsgi 的shell方式支持 向 settings.ini 中添加对环境变量的支持。例如,在环境变量中定义了 MYSQL_PORT, 你可以在 settings.ini 中定义: 1 [DEFAULT] 2 port = $MYSQL_PORT 3 port_str = '${MYSQL_PORT}' $MYSQL_PORT 与 ${MYSQL_PORT} 是一样的。当变量后面跟着标识符时,使用 ${} 可以容易地将它分区分开。 添加 STATIC_COMBINE_CONFIG 配置项,你可以用它来切換是否启动静态文...

4
21
发表了资讯
2014/01/13 00:00

Uliweb 0.2.4 发布,灵活易用的 Python 框架

本次更新内容如下: 修正 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 是否在 fu...

5
21
发表了资讯
2014/01/05 00:00

Uliweb 0.2.3 发布,灵活易用的 Python Web 框架

此版本主要是一些功能的小改动: 更新nginx配置文件的输出模板,添加 proxy_set_header 指令 向 ORM 添加 save_file() 方法,你可以用它保存select之后的结果集到一个csv文件中 修复 SortedDict 类中丢失的 clear() 方法 修改i18n处理,对于项目和apps方式的抽取,它将首先启动应用,这样是为了让自定义tag可以起作用。但是建议用户尽量不用自定义tag,因为模板中可以直接写python代码。 向utils/common.py中添加walk_dirs()方法...

7
27
发表了资讯
2013/12/06 00:00

Uliweb 0.2.2 发布,灵活易用的Python Web框架

Uliweb 0.2.2版本主要更新如下: 向 SortedDict 添加 clear() 函数 向 AddView, EditView 添加提交保护,缺省为不启动。它可以用来防止多次提交。但对于 前端建议再増加相关的措施,比如在提交时将按钮禁掉。如果想要其生效,需要传入 protect=True 参数。 向 uliweb find -t 命令添加 --blocks 和 --with-filename 参数,前者用来显示在 模板中定义的块信息,后者用来列出定义相应块所在的模板文件名。同时向settings.ini 中添...

10
11
发表了资讯
2013/10/15 00:00

Uliweb 0.2.1 发布,灵活易用的Python Web框架

本版本主要是修复了ORM的问题 添加 uliweb.utils.timeit 模块,用户可以使用 with timeit(prompt): 来计算下面 代码的执行时间 修改 file_serving() 处理的 action 缺省值为 None. 这样缺省的 /uploads 文件 服务不再是默认为下载。 修复ORM的Reference的validate问题。它影响Reference的默认缺省值。 Uliweb: https://github.com/limodou/uliweb Plugs: https://github.com/limodou/plugs Uliweb APP收集 Par: https://github....

0
12
发表了资讯
2013/10/12 00:00

Uliweb 0.2 发布,灵活易用的Python Web框架

更新内容 修复 auth.models get_href 错误 修改 ORM save() 处理,它将保存manytomany数据 向 save() 中添加 changed, saved 和 send_dispatch 参数。其中 changed 是一个回调函数,当有更新时(不是新増)时被调用。 saved 也是一个回调,当保存 了数据时被回调,它包括更新和新増两种情况。 send_dispatch 表示是否发送pre_save和 post_save信号。 改进 set_echo(), 添加 time, explain, caller 等参数。 向 utils.common 模块...

3
14
发表了资讯
2013/06/19 00:00

Uliweb 0.1.7 发布,灵活易用的Python Web框架

Uliweb 0.1.7发布,主要更新内容: 増加 pretty_dict 函数,可以以缩近的形式打印dict数据结构,主要是为了输出。 向functions中添加 encrypt 和 decrypt 函数,需要安装 uliweb.contrib.secretkey APP。这个app是一个des算法的加解密功能模块。缺省使用pyDes模块(它是纯Python的DES算法模块),通过配置可以改为其它的DES算法模块。 在命令行find中添加 --tree 参数,可以以缩近形式显示模板的继承和include的调用。 优化了a...

4
19
发表了资讯
2012/10/19 00:00

Uliweb 0.1.6 发布,灵活易用的Python 框架

本次版本距上一个版本已经一个月了,所以也积累了不少的改进,主要变化如下: 添加CSRF APP,可以支持CSRF的保护 増加在模板中可以使用块注释,可以忽略块内的模板代码 优化makeproject生成的项目文件,増加.gitignore和local_settings.ini 修复soap View模块中会两次调用__begin__和__end__的bug 将functions和decorators机制进行抽象,提供Finder类,可以用它实现functions的机制 使用inspect.isclass()来判断一个对象是否cla...

0
5
发表了资讯
2012/09/08 00:00

Uliweb 0.1.5发布,灵活易用的Python Web框架

更新说明: cache的配置项 file_dir, lock_dir 恢复到 0.1.3之前的版本,即不需要设置 dispatch call调用失败时增加更多的提示信息 増加 uliweb.contrib.form app,如果Form类配置到settings.ini中,可以使用functions.get_form()来获得Form类。目前auth是按get_form()方式来处理的,因此用户就可以对相应的Form类进行覆盖 优化 weto的file_storage的处理 修复 RedirectException 显示的不正确的错误 向 uliweb.orm 中増加 Tabl...

12
9
发表了资讯
2012/08/22 00:00

Uliweb 0.1.4发布,灵活易用的Python Web框架

功能优化: 向utils/date増加毫秒格式的支持 向SortedDict类添加sort()方法 向functions中添加get_var()和set_var()可以用来处理settings.ini,并且可以允许用户覆盖 优化soap app,添加多个SOAP服务的支持 重构form的生成处理 向 uliweb/utils/common.py get_choice() 中新増default参数 増强模板extend和include的处理,当某个模板在调用extend和include时,如果被调用的模板和当前模板文件为同一文件时,则会使用更前一个同名...

12
7
发表了资讯
2012/07/31 00:00

Uliweb 0.1.3发布,易用灵活的Python Web框架

更新内容: 修复loadtable在处理PickleType时出错的Bug 改进template的处理,可以自定义模板标签的标识字符串 増加Redirect异常的支持,原来的redirect只是一个函数 修复file_serving.download()处理中文出错的Bug 创建Table时,字段生成顺序按定义顺序来处理。原来是采用字典方式,所以无法保证顺序 修改pyini中uni_prt的Bug 向generic.py中的ListView添加object方法 更新pysimplesoap包至1.05a 项目地址: https://github.com...

4
5
发表了资讯
2012/06/13 00:00

Uliweb 0.1.2 发布,Python 的 Web 框架

Uliweb是一个新的Python Web Framework,它之所以会产生是因为现有的框架多少有些令人不满意的地方,而且许多情况下这些不满意的地方或多或少对于Web开发有影响,因此在经 过对不少框架的学习之后,我决定开发一个新的框架,希望可以综合我认为其它框架中尽可能多的优点,同时使这个新的框架尽可能的简单,易于上手和使用。不过 这个框架目前主要还是一个人在做,并且是业余在做,所以在进度上相对要慢一些。 0.1.2 Version --...

7
7
发表了资讯
2012/05/28 00:00

Uliweb 0.1.1 发布,Python的Web框架

Uliweb 0.1.1 发布了,该版本已经可以初步支持bae, heroku的部署了。相关的文档在 http://uliweb.readthedocs.org/en/latest/index.html Uliweb是一个新的Python Web Framework,它之所以会产生是因为现有的框架多少有些令人不满意的地方,而且许多情况下这些不满意的地方或多或少对于Web开发有影响,因此在经 过对不少框架的学习之后,我决定开发一个新的框架,希望可以综合我认为其它框架中尽可能多的优点,同时使这个新的框架...

3
11
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
5 评论
181 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部