0.5 2016-5-21¶
功能优化¶
- 增加 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命令,支持dialect设置,如
uliweb reflectdb user -d oracle
0.5b1 2016-2-13¶
问题修复¶
- 修复 flashmessage 的配置 BUG
- 修复 gitignore 模板
- 修复 setup.py 模板
功能优化¶
json函数增加对content_type的默认处理.当请求头中的Accept为'*/*'时, content_type 值为application/json,当Accept的值中不含有application/json时, 则值为text/plain, 否则为application/json- 向
Dispatcher中添加parse_tag_xml及parse_tag方法,用于方便处理taglib.前者用于解析 tag为数据结构,后者则将tag处理为HTML代码. support命令中删除掉不再支持的配置,如: bae, dotcloud, gae, fcgi等.- 添加
exportconfigjs命令. 用于配合uliweb-ui项目,可以根据ui_modules.js生成需要的 config.js 用在 requirejs 中. - 增加
reflect_table(),reflect_table_data(),reflect_table_model函数用于将数据库 反射为Model或数据结构. - 增加
Bulk进行底层SQL的操作,并且支持多条一次执行.
0.5b0 2015-12-27¶
问题修复¶
- 修复pyini重入的BUG
- 修复在执行
set_password时自动执行save的BUG,改为不执行 - 修复
Content-Range头处理不正确的BUG, 感谢 zhangchunlin 的支持 - 修复
StaticFilesMiddleware中的URL没有使用settings.DOMAINS的配置的BUG, 感谢 zhangchunlin 的贡献 - 修复 form 中传入
BooleanField值为None时未转为False的BUG, 感谢 zhangchunlin 的贡献 - 修复 pretty_dict 在处理unicode出错的BUG
普通功能优化¶
SortedDict重构,以dict作为父类,并且支持传入初始化值.- 增加
Dispatcher和make_applicationreset参数,可以用来决定是每次执行创建新的application 对象还是可以重用上次的对象.主要用在测试中,以便可以重用. - 增加按某个前缀对 redis 中的keys进行统计的函数
count_prefix(prefix) - 在
uliweb.utils.common中添加获得临时文件的函数get_tempfilename(prefix, dir='') 修改 APP_URL 的定义形式为
{'prefix':''},只能是字典形式.增加URL_ROUTE的映射支持:[URL_ROUTE] any_key_1 = ('mapping_str', 'replacement') any_key_2 = ('mapping_str', 'replacement')可以把某个 URL 替换为指定值.如:
('/admin', '/demo')- 增加 pyini 在处理时,可以传入字典形式的初始化数据,如
x = Ini({'DEFAULT':{'x':1}}) - 增加对带路径的对象的配置项的导入处理,通过
uliweb.utils.common中新增get_configrable_object(key, section, cls=None)函数.对于象key=path.to.model.function,可以自动根据路径导入后面的对象. - 重构Form的校验功能,增加Form中的
rules配置,方便前面实现前端校验处理 - mail 支持 cc 转发参数, 感谢 zhangchunlin 的贡献
uliweb runserver增加对运行单个 app 的支持.- 当返回一个generator时,可以通过
response.content_type来设定上下文类型. - 在utils目录下增加
workers.py用于方便生成带管理的父子进程调度处理. 查看 - 向
utils/date.py中添加parse_time函数,可以解析1h, 5s之类的时间格式 ListView中增加group_by和having的参数支持- 在
uliweb.contrib.generic中添加MultiView的支持,它提供了对ListView,AddView,EditView等的集成. url_for增加_format=True参数,可以将URL生成为参数形式,如对于expose('/view/<name>/<int:value>')的URL的定义,使用url_for(endpoint, _format=True)生成结果为'/view/{name}/{value}'- 增加
format_size()函数,用于将数值转为大小描述,如format_size(1026)结果为2KB - 集成
xltools.py模块,用于对Excel的处理.需要安装openpyxl模块. 查看 - 增加模板中对tag库的支持. 查看
- 去除对
head.js的支持 - 向 application 添加
get_config()用来读取其它的 ini 配置文件.和settings.ini类似,会自动 对所有生效的app下的配置文件进行合并处理. - 向
uliweb.contrib.auth中User表中添加auth_type字段,将用于区分用户登录使用的方法.感谢 zhangchunlin 的贡献
命令行变化¶
- 增加 uliweb 命令中传入环境变量的参数支持,通过
-Ea=b的形式,可以传多个. uliweb find -u url增加显示view函数的docstring的功能.- 增加
uliweb find -U url_pattern命令,可以显示带通配符的URL,如:uliweb find -U "blog*". 注意,模式对于*要添加双引号. - 增加ipython的支持,可以在启动
uliweb shell时自动检测是否安装了ipython.如果使用uliweb shell -n可以启动 jupyter notebook.提供对uliweb的扩展,执行%load_ext uliweb就会自动将application,functions,settings注入到环境中.并且,可以对Model的类和实例查看相应的内容.类则可以看到建表语句及 表之间的关系图(需要安装graphviz).实例可以看到表结构对应的值. - 重构recorder命令
- 增加
relectdb命令,用于反向从数据库生成models.py文件 - 增加
uliweb makemodule命令,可以快速生成uliweb第三方模块的目录结构,要求以uliweb-开头, 但生成的模块名是uliweb_
ORM 变化¶
- 重构rawsql对postgresql的支持
- 增强
OneToOne的处理.修复结果不被缓存的bug.并且当访问OneToOne对象时,如果不存在,则会自动创建空对 象.并且当记录删除时,会自动将联带的OneToOne对象删除. - 增加动态创建Model的支持.可以根据配置信息自动生成新的Model.提供
create_model方法. - 增加Model的移迁的支持.提供migrate方法,可以在运行时升级数据库.
- 向
Property中添加to_column_info()函数和向Model添加get_columns_info()函数可以方便 获得Property或Model的字段详细信息. - 添加:UUID, UUID_B, SMALLINT, BINARY, VARBINARY, JSON字段类型
- 增加
ORMResetMiddle中间件,可以对某些全局变量进行重置,如:set_echo的状态, signal发布状态 - 向session中增加post_commit和post_commit_once回调,可以在提交事务后执行.
- 增加
relectdb命令,用于反向从数据库生成models.py文件 - 增加除ID外,可以自定义主键的功能.
APP变化¶
- 增加
model_configAPP.用来实现Model动态迁移的支持 - 增加
celery的支持 - 增加
datadict功能,用来处理数据字典 删除不用的APP:
- bae 百度app engine的支持
- dbupload 使用数据库来保存上传文件
- heroku heroku的支持
- sae 新浪app engine的支持
- xmlrpc
不再内置的模块¶
- pysimplesoap