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

  • SortedDict 添加 clear() 函数html

  • 向 AddView, EditView 添加提交保护,缺省为不启动。它能够用来防止屡次提交。但对于 前端建议再増加相关的措施,好比在提交时将按钮禁掉。若是想要其生效,须要传入 protect=True 参数。前端

  • 向 uliweb find -t 命令添加 --blocks--with-filename 参数,前者用来显示在 模板中定义的块信息,后者用来列出定义相应块所在的模板文件名。同时向settings.ini 中添加 GLOBAL/DEBUG_TEMPLATE 配置项,用来控制模板是否显示调试用的注释,用来区分 不一样的块的开始和结束。可是这种输出具备必定的破坏性,好比非HTML的结果等。因此只 能用于调试,正式使用必定要关闭。好比,打开以后,在输出的模板中可能有:python

    <!-- BLOCK title (apps/theme/templates/theme/skeleton.html) -->
      <!-- END title -->
  • 増加filedown.py在下载时对 content-range 的处理,感谢 zhangchunlin 提供代码。nginx

  • 改进 import_attr() 的处理,増加对 pkg_resource 入口字符串格式的支持,好比: x.y.z 原来是根据从左向右逐层导入时,动态来判断后面的是模块仍是属性,若是是 模块,则继续导入,若是是属性则使用 getattr() 来处理。如今则能够定义为: x.y:z.c, 这样能够更清晰表示 : 号前是模块,后面是属性。git

  • uliweb.contrib.orm 上添加 requirements.txt,能够直接用 uliweb install 来安装: SQLAlchemy, MySQL-python, alembic(这个是我修改的版本)。注意,要在你的应 中用先配置 uliweb.contrib.orm 才能够。由于这个requirements.txt是在app上定义的。github

  • 添加 LOGO 文件,能够用这里面的图片来展现 uliweb。web

  • 向 runserver 命令増加 --color 参数,能够输出彩色日志。输省是不输出。同时,你 能够根据须要,在settings.ini中对颜色进行配置,如缺省的为:app

    [LOG.COLORS]
      DEBUG = 'white'
      INFO = 'green'
      WARNING = 'yellow'
      ERROR = 'red'
      CRITICAL = 'red'

    支持的颜色为: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE.函数

  • 増加 config 命令。它能够用来向控制台输出配置文件的模板。目前能够生成 nginx, supervisor 相关的配置。你也能够在自已的app中定义这样的输出。只要在app下建立 template_files/config 的目录结构,而后建立 xxxx.confxxxx.ini 文件。在 xxxx.ini 中用来定义一些 变量,这些变量将用于 xxxx.conf 中。优化

    ini格式定义示例为:

    [INPUT]
      port = '', 80
      path =

    port为变量名,值为一个tuple或者不定义,第一个值为提示用的文本,若是为空则表示没有额外 说明。第二个表示缺省值。

    xxxx.conf 为uliweb格式的模板,若是存在模板变量,则须要与ini中的一致。同时 有一些预约义的变量,如: project 表示项目目录名称,project_dir 表示项目目录。

    执行时能够: uliweb config xxxx

  • 优化 support 命令,能够象config命令同样,在你的app下建立 template_files/support/xxxx 这样的目录结构,下面放执行 uliweb support xxxx 时将要拷贝的文件及目录便可。

  • 修复 tmplate 中normcase的bug,改成 normpath 。

  • 重构ORM的关系字段的处理,让关系的处理为延迟执行(待get_model时才执行)。这样 是为了解决存在循环引用的问题,可是带来可能的不兼容问题,就是反向关系的获取。 若是A和B都是在一个文件中定义,那么在导入A时,B天然也被引入,若是B上有对A的关 系定义,则A自动被注入一个反向关系。可是如今则要显示执行 get_model('B')才能够 建立反向关系。

  • get_model()set_model() 中的Model名再也不区分大小写。

  • 修复当重名的URL定义存在时,后定义的没有替換前面定义的URL的bug。

  • 修复 rbac 中没有使用 functions.has_role()functions.has_permission() 的bug。

  • 修复rules.py在处理View类继承时的bug。添加 expose(replace=True) 的支持,用来实 现View类的替換方式,即不会増加新的一套URL,而是为了修改原来的View方法处理。 若是replace=False,或不写,则为普通的派生方式.

  • 向expose()増加template参数,这样除了能够在view函数中指定 response.tmplate = 'xxxx.html 外 还能够直接在expose上指定。执行优先级,以response.template最高。

  • 恢复 ORM 配置中关于 NULLABLE = False 的配置。这样字段缺省容许为 null。

连接

相关文章
相关标签/搜索