回顾周报:7月10日
以下是过去几周 Django 改进的亮点。
- 修改集 3214:在 syndication 框架的 Feed 类中添加了 title_template 和 description_template 钩子。这些允许您覆盖 Feed 类的默认模板名称,这在您有多个具有相同 slug 的 Feed 类时非常有用。
- 修改集 3217:添加了 Manager.create() 方法,该方法可以一步创建并保存对象。这与创建相关对象的 API(例如
foo.site_set.create()
)很好地并行,并且可以让您用更少的代码行做更多的事情。 - 修改集 3223:使用数据库 API 进行日期查找/比较现在也接受字符串以及 datetime 对象。例如,
Article.objects.filter(pub_date__exact='2005-07-27')
现在有效。以前,您必须传入一个 datetime 对象。 - 修改集 3225,3237 及其他:添加了序列化框架,其中包括 JSON 输出。很快就会有更多关于这方面的信息。
- 修改集 3226:将“多身份验证”分支合并到主干。这使得 Django 的身份验证层可插入。例如,您可以插入 LDAP 或其他身份验证源。请参阅新的文档。非常感谢 Joseph Kocherhans 为此做出的贡献。
- 修改集 3246:原始对象现在可以在“精确”和“包含”查询查找中用作数据库查找值。例如,现在
Article.objects.filter(author=some_author_instance)
是可能的,而不是Article.objects.filter(author__id__exact=some_author_instance.id)
。 - 修改集 3247:添加了
USE_I18N
设置,您可以使用单个设置关闭国际化开销。为了向后兼容,它默认为 True。如果您设置USE_I18N=False
,您的管理员 JavaScript 将更高效/更轻量级,并且 Django 不会将大多数国际化代码加载到内存中。更多优化即将推出。 - 修改集 3248:现在任何不以已知查询术语(例如“exact”、“lt”、“contains”等)结尾的数据库查找参数都被假定为“exact”。这意味着您可以使用
Photo.objects.filter(author__name='John')
而不是Photo.objects.filter(author__name__exact='John')
。 - 修改集 3269:模板系统现在将文字字符串“False”和“True”视为布尔等价物。
- 修改集 3272:在“pluralize”模板系统过滤器中添加了一个可选参数,允许您为那些不通过简单添加“s”来构成复数的单词指定复数形式。
- 修改集 3285:改进了 SQLite 数据库自省 (
django-admin.py inspectdb
) 以查找主键。 - 修改集 3305:电子邮件验证器现在接受最多六个字符的顶级域名,以适应新的“.museum”域名。
- 修改集 3307:在
class Admin
中添加了list_display_links
选项。这将规范 admin 变更列表页面上哪些字段/列具有链接。请参阅文档。
Django 其他新闻
- 祝贺Wilson,Django 管理界面和 Django 网站本身的设计者,加入苹果公司!是的,Wilson 将继续积极参与,让我们看起来更出色。
- Simon 在EuroPython 上介绍了 Django。
- 祝贺Melt,绿色和平组织使用 Django 编写的开源协作平台,在ZDNet 上获得了一些主流媒体的报道。
- 社区成员制作的越来越多的优秀教程正在涌现:“blank”和“null”的区别,扩展通用视图,具有多个内联对象的表单。
- 在一篇题为“快速 Django 开发”的文章中,Bruce Kroeze 写道:“我发现自己惊叹于各种元素结合得多么快速和简单,尤其当我将其与我以前为雇主使用 Java 做同样事情的经历进行对比时。”
- 网页设计师 D. Keith Robinson 正在用 Django 编写他自己的 CMS。他就是“网页设计博客”在 Google 搜索结果中排名第一的人。
- 我不是一个关注数字或流量的人,但我注意到django-users 邮件列表现在已经有超过 2000 名订阅者。如果世界因为 django-users 邮件列表的每位成员而倒退一年,那么我们现在还在公元前呢!