Django 0.95版发行说明

欢迎使用Django 0.95版本。

这意味着自2006年1月0.91版本发布以来,Django开发取得了重大进展。此版本中每个更改的详细信息都太多,无法完整列出,但下面给出了一个摘要。

适用性和API稳定性

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

但是,它不是1.0版本,我们将在1.0之前引入进一步的更改。为了清楚地了解框架的哪些方面将发生变化(哪些方面将发生变化) not 更改)1.0之前,请参见 api-stability.txt 文件,它位于分发的docs/目录中。

您可能需要使用文档中标记为“受制于API更改”的某些功能,但只要您同意,我们就可以使用这些功能,而且只要您了解将来API可能会发生更改。

幸运的是,Django的大多数核心API在1.0版本之前都不会改变。0.95到1.0版本之间的变化可能不会像0.91到0.95版本之间的变化那么大。

更改和新功能

此版本中的主要更改(对于当前使用0.91版本的开发人员)是合并开发的“魔力消除”分支的结果。这个分支消除了Django代码编写方式中的一些约束,这些约束是在Django开放源代码发布之前,在Django早期所做决定的结果。现在可以编写更自然的、能按预期工作的 Python 代码,而且在幕后发生的“黑色魔法”也更少了。

除此之外,这个版本的另一个主要主题是显著提高可用性。为了提高开发人员的生活质量,我们在错误消息、文档等方面做了无数的改进。

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

  • Django现在使用更加一致和自然的过滤接口从数据库中检索对象。

  • 用户定义的模型、函数和常量现在出现在定义它们的模块命名空间中。(以前所有的东西都神奇地转移到 django.models.* 命名空间)

  • 一些可选的应用程序,如平面图、站点和重定向应用程序,已经分离并移动到 django.contrib . 如果不想使用这些应用程序,就不再需要安装它们的数据库表。

  • Django现在支持管理数据库事务。

  • 我们已经添加了编写自定义身份验证和授权后端的功能,以便根据备选系统(如LDAP)对用户进行身份验证。

  • 通过一个新的“管理器”API,我们可以更容易地向模型添加自定义表级函数。

  • 现在可以在没有数据库的情况下使用django。这仅仅意味着框架不再要求您只为了服务动态页面而设置工作数据库。换句话说,您可以自己使用urlconfs/视图。以前,框架要求配置数据库,不管您是否实际使用它。

  • 现在更明确、更自然地覆盖 save()delete() 方法,而不是需要挂钩到 pre_save()post_save() 方法挂钩。

  • 现在可以配置框架的各个部分,而无需设置环境变量。例如,这允许在其他应用程序中使用Django模板系统。

  • 随着我们扩大了国际化(i18n)支持,框架中越来越多的部分已经国际化。Django代码库,包括代码和模板,现在已经至少部分地翻译成31种语言。从阿拉伯语到汉语,从匈牙利语到威尔士语,现在可以使用Django的母语管理网站了。

在某些情况下,从0.91兼容代码到0.95代码库的端口所需的更改数量是非常重要的。然而,在大多数情况下,它们都是相当常规的,只需要做一次。必要更改的列表在 Removing The Magic 维基页面。还有一个简单的 checklist 在进行移植操作时参考。

问题报告和获得帮助

需要帮助解决Django的问题吗?分发中的文档也可用 online Django website . 这个 FAQ 特别推荐使用文档,因为它包含一系列反复出现的问题。

要获得更个性化的帮助,请 django-users 邮件列表是一个非常活跃的列表,有2000多个订户可以帮助您解决任何类型的Django问题。不过,我们建议您首先搜索档案,因为许多常见的问题都有规律地出现,而且任何特定的问题都可能已经得到了解答。

最后,对于那些更喜欢IRC提供的更直接的反馈的人,有一个 #django 频道打开 irc.libera.chat 那里经常有来自世界各地的Django用户和开发人员。友善的人通常在一天中的任何时间都可以提供帮助,或者只是聊天。

感谢您使用django!

django团队2006年7月