第十一章:通用视图

这里需要再次回到本书的主题: 在最坏的情况下, Web 开发是一项无聊而且单调的工作。 到目前为止,我们已经介绍了 Django 怎样在模型和模板的层面上减小开发的单调性,但是 Web 开发在视图的层面上,也经历着这种令人厌倦的事情。

Django的通用视图 可以减少这些痛苦。 它抽象出一些在视图开发中常用的代码和模式,这样就可以在无需编写大量代码的情况下,快速编写出常用的数据视图。 事实上,前面章节中的几乎所有视图的示例都可以在通用视图的帮助下重写。

在第八章简单的向大家介绍了怎样使视图更加的“通用”。 回顾一下,我们会发现一些比较常见的任务,比如显示一系列对象,写一段代码来显示 任何 对象内容。 解决办法就是传递一个额外的参数到URLConf。

Django内建通用视图可以实现如下功能:

  • 完成常用的简单任务: 重定向到另一个页面以及渲染一个指定的模板。

  • 显示列表和某个特定对象的详细内容页面。 第8章中提到的 event_listentry_list 视图就是列表视图的一个例子。 一个单一的 event 页面就是我们所说的详细内容页面。

  • 呈现基于日期的数据的年/月/日归档页面,关联的详情页面,最新页面。 Django Weblogs (http://www.djangoproject.com/weblog/)的年、月、日的归档就是使用通用视图的年、月、日的归档就是使用通用视图) 架构的,就像是典型的新闻报纸归档。

综上所述,这些视图为开发者日常开发中常见的任务提供了易用的接口。