Django 更新 - 2013-12-29 至 2014-01-11
概览
新年假期都恢复过来了吗?大脑重新上线了吗?很好!让我们开始吧!
我收到了一些人对这些更新的积极反馈,很高兴知道我的工作有所帮助 :)
工单进展
短期工单: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 之间。
更多详细信息,请参见 文档。
总结
嗯,这些现在越来越容易了。
——祝您一切顺利。