回顾周报:6月26日
以下是过去几周 Django 改进的亮点。这里有很多很棒的东西……
- 变更集 3087:使 django.contrib.auth.views 中的模板名称可以作为 template_name 参数传递给视图。
- 变更集 3091:添加了语言双向支持,并更新了管理界面以使用它。新的 LANGUAGE_BIDI 设置指定语言是右对齐还是左对齐。非常酷。
- 变更集 3092:添加了一个新的 Manager 方法,get_or_create()。它按字面意思执行:它尝试查找具有给定参数的对象,如果找不到,则创建一个。请参阅文档。
- 变更集 3094:使“choices”参数可以接受任何可迭代对象。
- 变更集 3108:在模板“if”标签中添加了对“and”的支持。我们总是推迟这件事,说你只需嵌套“if”语句即可,但是能够使用“and”要好得多。例如:{% if foo and bar %}。感谢 ckknight。
- 变更集 3109:通过在 CommonMiddleware 中设置 DEBUG=True 时引发 RuntimeError 来解决重定向后 POST 数据丢失的问题。您是否曾经遇到过向不带尾部斜杠的表单发送 POST 请求并丢失 POST 数据的情况?不会再发生了。
- 变更集 3123:现在可以在 update_object 通用视图中进行文件上传。感谢 parlar。
- 变更集 3136:向管理更改列表过滤器添加了 AllValuesFilterSpec,它允许您将任何任意字段放入“class Admin”中的“list_filter”选项中。例如,假设您有一个名为“first_name”的 CharField。如果您将“first_name”放入“list_filter”,Django 将提取该字段的所有可用值(在后台执行 SELECT DISTINCT)。
- 变更集 3138:向 {% templatetag %} 标签添加了“openbrace”和“closebrace”选项。
- 变更集 3144:添加了 HttpResponseNotAllowed,它返回 HTTP 状态代码 405。您可以向其传递允许的方法列表。
- 变更集 3145:现在可以使用可设置属性初始化模型。请参阅属性模型示例中的 _set_full_name() 以了解示例。
- 变更集 3164:向 HttpRequest 对象添加了“method”属性。这是一种访问 request.META['REQUEST_METHOD'].upper() 的更好方法。
- 变更集 3165:模板系统现在接受“for”循环中的生成器。感谢 dbm-django@mclachlan.com.au。
- 变更集 3166:改进了 HttpResponseRedirect 和 HttpResponsePermanentRedirect,以便对 Location 标头中的非 ASCII 字符进行百分比编码。感谢 Andrey。
- 变更集 3174:添加了 manage.py“runfcgi”选项,以及新的FastCGI 文档。感谢 jcrasta@gmail.com 和其他人。
- 变更集 3185:向“timesince”模板过滤器添加了一个可选的比较参数。还添加了一个工作方式相同的“timeuntil”过滤器。感谢 john@sneeu.com。
- 变更集 3134:添加了通用外键支持。此出色功能允许您通过内容类型和 ID 字段将对象与“任何”对象关联。一个流行的例子:标签。请参阅示例模型以了解使用方法。
其他 Django 新闻
- 祝贺news.samba.org,它已经使用 Django 了。阅读公告。
- Ian Holsman 发布了一个名为Gypsy Jobs 的 Django 招聘网站的测试版。
- 我们正在成为一个对 Web 设计师友好的框架。最新加入乐趣的设计师:D. Keith Robinson。
- 一位名叫 William 的人发布了一些令人震惊的 Django 压力测试。每秒 209 个请求!
- Malcolm Tredinnick 写了一篇关于在 Django 中使用自定义 SQL 的不错的教程。
- Luke Plant 在 Django 上启动了CCIW,并有一个详细的解释,包括源代码。
- 这不仅是一个有用的 OS X Django 教程——它还有一张非常漂亮的 Python/Django 蛇图。
- O'Reilly 的 Jeremy Jones 对 Django 的 RSS 支持赞赏有加。“我无法想象还有什么比这更容易的了。”
- “我找到了解决我所有问题的方法……Django……我想我会从我的 Dapper 笔记本电脑中删除 Ruby。”
- 这里有一些关于在 5 分钟内为博客创建 Django 管理界面的代码。