现在的位置: 首页 > 综合 > 正文

Django1.3 release更新内容

2012年02月19日 ⁄ 综合 ⁄ 共 1842字 ⁄ 字号 评论关闭
文章目录

1.3版本发布包含少量新功能和大量的bugfix,对Python版本的最低要求提高至2.4,另外这将是最后一个支持2.4的Django版本了,请果断更新。

1.3带来了什么?

类视图 (Class-based views)

本次更新加入了一个新的框架来支持类视图,这将意味着更高的代码重用率和开发效率。新的Generic View基类在提供了易用性和扩展性的同时,还对原先的函数式generic view提供了完整的模拟支持。

扩展链接:
通用类视图
新旧Generic View迁移指南

日志 Logging

1.3加入了框架级别的对Python原生logging的支持,所以现在可以在Django项目中方便地配置和控制。Django内置了许多logging处理器,特别值得一提的就是之前500错误发送email的行为现在已经是一种logging行为了。

扩展链接:
Django的logging接口

增强的静态文件处理 Extended static files handling

1.3包含了一个新的app django.contrib.staticfiles 来帮助开发者管理渲染页面所需的如js、css这样的静态文件。
在之前,所有的静态文件都是用MEDIA_URL和MEDIA_ROOT来控制的。为了和用户上传的文件作区分,staticfiles横空出世,现在你可以将静态文件分配到app目录或任意你指定的目录,分发app时就更为方便了。

扩展链接:
staticfiles的文档

unittest2

Django 1.3从Python 2.7复制了一份unittest2来为低版本Python提供2.7中带来的那些关于unittest的重大功能更新。你只需要使用django.utils.unittest来调用这个库,Django会判断是使用已安装的unittest2还是Django的copy。

事务的上下文管理器 Transaction context managers

Python 2.5以上的用户可以使用新的事务的上下文管理器来处理视图中的事务,例如:
with transaction.autocommit():    # …

扩展链接:
事务管理

可控的级联删除 Configurable delete-cascade

ForeignKey和OneToOneField现在可以通过一个on_delete参数来控制删除时的行为。之前,所有的删除都是级联的,现在另外还支持设置空值、设置默认值、设置成任意值、阻止删除和无作为等操作。具体定义请参考 on_delete 的文档

待翻译字符串的上下文标示和注释 Contextual markers and comments for translatable strings

待翻译字符串现在可以通过pgettext来进行标示,另外,你也可以用特殊记号来给其加上注释。

扩展链接:
上下文标示
注释

增强内建模板标签 Improvements to built-in template tags

include 标签 引入with选项来为导入文件进行传参
include 标签 引入only开关来避免上下文干扰
with 标签 现在可以在一个with块中定义多个变量
load 标签 引入from选项来进行独立的标签或过滤器的导入
译者按: 这些改动很实用,另,从include上隐约看到了mako的影子……

TemplateResponse

有时让修饰器或中间件来修改响应是一件很有效的做法,但是在创建完HttpResponse后是很难进修修改的。为了克服这个限制,Django 1.3加入了一个新的TemplateResponse,它能够保留相关的模板和环境变量,只在需要时才生成最终响应。

扩展链接:
相关文档


有关缓存的变动

Django 1.3引入了一些对缓存框架的改进:

  • 加入多缓存支持
  • 缓存API中加入了版本控制、缓存前缀和键变幻函数
  • 现在可以通过HTTP请求头来创建缓存键
  • 缓存后台加入对pylibmc的支持

其他

还有许多小的改动,如:

  • MEDIA_URL和STATIC_URL必须以斜杠结尾
  • 增加 RequestFactory 供测试用
  • 可以给管理员发送富文本邮件,同时,错误邮件包含了更多debug模式下的页面信息和格式
  • simple_tag()加入一个takes_context参数,可以更方便的创建需要访问模板上下文的标签
  • 提供一个默认包含RequestContext的render()快捷函数
  • 增强 F()表达式

另离线文档已经更新,可到:

Google code 下载
115网盘 下载

抱歉!评论已关闭.