浏览 3807 次
锁定老帖子 主题:Django 1.3更新内容翻译
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-03-30
最后修改:2011-11-06
还是放下链接吧,大家可以去这里 查看原文 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网盘 下载 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-04-09
最近一个项目试用了一下 Django 的ORM,体验一般。
如果你用它做跟“Hello World”差不多的事情,那的确非常方便。 但如果你想稍微做点别的出格的事情,那就对不住了。 碰到的问题有: 1、ORM不支持 BLOB ; 2、ORM不支持 批量修改数据 ; 问题虽然小,但是到处都是这种问题的话,就很影响使用心情。 |
|
返回顶楼 | |