Django 更新 - 2013-12-29 至 2014-01-11

作者:Curtis Maloney 发表于 2014年1月12日

概览

新年假期都恢复过来了吗?大脑重新上线了吗?很好!让我们开始吧!

我收到了一些人对这些更新的积极反馈,很高兴知道我的工作有所帮助 :)

工单进展

短期工单:30

已创建工单:32

未关闭工单:1400 (+9)

项目

应用加载重载

这方面取得了很大进展,并在开发者邮件列表中引发了大量的讨论。

这项工作重点在于改变我们对 INSTALLED_APPS 的思考方式。

另一个发现是,对于具有重叠导入路径的用户,Django 的容错性很好。这在 Django 1.4 中修复项目布局之前非常常见。

为什么它们不好?因为 Python 将它们视为两个不同的模块——这意味着它会导入它们两次。这意味着如果您不小心,您的信号将注册两次。

当然,其中有一些机制可以帮助解决这个问题,但是预防胜于治疗。如果我们有选择,为什么允许需要治疗的这种情况呢?

使用 setuptools

再次提出了使用 setuptools 使 django-admin.py 能够在 Windows 上运行的想法 (#21340)。

在 IRC 上讨论后,决定如下(由 Florian Apolloner 发布):

  • 我们不会同时支持 setuptools 和 distutils,在我看来,这使得安装过程难以调试和测试。
  • 鉴于 Donald 的“同意”,我们可能会完全切换到 setuptools
  • 安装 wheel 时 pip 似乎存在一个 bug,这使得 django-admin.exe 在 Windows 上不可用,欢迎提供帮助
  • 此问题的 PR 现在位于 https://github.com/django/django/pull/2116

你知道吗?

从 1.6 版本开始,Django 支持持久化数据库连接。它们默认情况下是禁用的,可以在您的 DATABASES 设置中为每个数据库启用。

启用此功能可以节省您每次请求开始时的一些时间。时间会根据您使用的 DBMS、是否使用 SSL 以及数据库服务器和应用程序服务器之间的延迟而有所不同,但我看到的时间测量值在 25ms 到 450ms 之间。

更多详细信息,请参见 文档

总结

嗯,这些现在越来越容易了。

——祝您一切顺利。

返回顶部