Django version 0.95 release notes

欢迎来到Django 0.95发行版。

这代表了自从2006年1月发布0.91以来Django开发的一个重大进步。此版本中的每个更改的详细信息将过于详尽,无法完整列出,但下面提供了摘要。

Suitability and API stability

此版本旨在为希望在使用Django的生产级应用程序上工作的开发人员提供一个稳定的参考点。

但是,它不是1.0版本,我们将在1.0之前引入进一步的更改。为了清楚看看框架的哪些区域将在1.0之前改变(并且哪些区域将不会改变),请参见api-stability.txt文件,它位于docs /目录下的分发。

您可能需要使用该文档中标记为“需要API更改”的一些功能,但只要您能理解API,并且您了解API可能会在将来更改,那么我们可以使用这些功能。

幸运的是,Django的大多数核心API在1.0版之前不会改变。在0.95和1.0版本之间可能不会有大的变化,因为在0.91和0.95之间。

Changes and new features

这个版本的主要变化(对于目前使用0.91版本的开发者)是合并了“魔法删除”开发分支的结果。这个分支删除了Django代码必须编写的一些约束,这是Django早期在开源版本发布之前做出的决定的结果。现在可以编写更自然的,Pythonic的代码,按预期工作,而且在幕后发生的“黑魔法”也少了。

除此之外,这个版本的另一个主题是可用性的戏剧性增加。我们已经在错误消息,文档等方面进行了无数的改进,以提高开发人员的生活质量。

0.95中引入的新功能和更改包括:

  • Django现在使用更一致和自然的过滤接口从数据库检索对象。
  • 用户定义的模型,函数和常量现在出现在它们定义的模块命名空间中。(以前一切都魔法地转移到django.models。*命名空间。)
  • 一些可选应用程序,如FlatPage,站点和重定向应用程序,已经解耦并移动到django.contrib。如果不想使用这些应用程序,则无需再安装其数据库表。
  • Django现在支持管理数据库事务。
  • 我们添加了编写自定义认证和授权后端的功能,用于对备用系统(如LDAP)进行认证。
  • 通过新的“Manager”API,我们更容易向模型添加自定义表级函数。
  • 现在可以使用Django没有数据库。这只是意味着框架不再需要你有一个工作数据库设置只为服务动态页面。换句话说,你可以只使用URLconfs /视图自己。以前,框架要求配置数据库,无论是否实际使用它。
  • 现在更明确和自然的重写模型上的save()和delete()方法,而不需要钩入pre_save()和post_save()方法的钩子。
  • 现在可以配置框架的各个部分,而不需要设置环境变量。这允许例如在其他应用程序内使用Django模板系统。
  • 随着我们扩展了国际化(i18n)支持,框架的越来越多的部分已经国际化。Django代码库(包括代码和模板)现在已经至少部分翻译成31种语言。从阿拉伯语到中文,匈牙利语到威尔士语,现在可以使用您的母语使用Django的管理网站。

在某些情况下,从0.91兼容代码端口到0.95代码库所需的更改数量很重要。然而,它们在大多数情况下是合理的例行,只需要做一次。删除魔术 Wiki页面中描述了必要更改的列表。在进行移植操作时,还有一个简单的清单供参考。

Problem reports and getting help

需要帮助解决Django的问题?分发版中的文档也可在Django网站上找到online特别推荐使用FAQ文档,因为它包含了一些问题。

为了更个性化的帮助,django-users邮件列表是一个非常活跃的列表,超过2,000订阅者可以帮助您解决任何种类的Django问题。我们建议您先搜索档案,但是,因为许多常见的问题出现一些规律性,任何特定的问题可能已经回答了。

最后,对于那些喜欢IRC提供的更直接的反馈的人来说,irc.freenode.net上有一个#django频道,由来自世界各地的Django用户和开发人员定期填充。友好的人通常在一天的任何时间提供 - 帮助,或只是聊天。

感谢使用Django!

Django团队2006年7月