Django 通用视图.pdfVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Django 通用视图

Dj ango 通⽤视图 这⾥需要再次回到本书的主题: 在最坏的情况下, Web 开发是⼀项⽆聊⽽且单 的 ⼯作。 到⽬前为⽌,我们已经介绍了 Dj ango 怎样在模型和模板的层⾯上减⼩开发的 单 性,但是 Web 开发在视图的层⾯上,也经历着这种令⼈厌倦的事情。 Dj ango的通⽤视图 可以减少这些痛苦。 它抽象出⼀些在视图开发中常⽤的代码和模 式,这样就可以在⽆需编写⼤量代码的情况下,快速编写出常⽤的数据视图。 事实 上,前⾯章节中的⼏乎所有视图的⽰例都可以在通⽤视图的帮助下重写。 在第⼋章简单的向⼤家介绍了怎样使视图更加的“通⽤” 。 回顾⼀下,我们会发现⼀些 ⽐较常见的任务,⽐如显⽰⼀系列对象,写⼀段代码来显⽰ 任何 对象内容。 解决办 法就是传递⼀个额外的参数到URLConf 。 Dj ango 内建通⽤视图可以实现如下功能: 完成常⽤的简单任务: 重定向到另⼀个页⾯以及渲染⼀个指定的模板。 显⽰列表和某个特定对象的详细内容页⾯。 第8章中提到 的 event_list 和 entry_list 视图就是列表视图的⼀个例⼦。 ⼀个单⼀的 event 页 ⾯就是我们所说的详细内容页⾯。 呈现基于⽇期的数据的年/⽉/ ⽇归档页⾯,关联的详情页⾯,最新页⾯。 Dj ango Weblogs (http:// .dj angoproject .com/ eblog/)的年、⽉、⽇的归档就是 使⽤通⽤视图 架构的,就像是典型的新闻报纸归档。 综上所述,这些视图为开发者⽇常开发中常见的任务提供了易⽤的接⼜。 使⽤通⽤视图 使⽤通⽤视图的⽅法是在URLconf⽂件中创建配置字典,然后把这些字典作为 URLconf元组的第三个成员。 (对于这个技巧的应⽤可以参看第⼋章向视图传递额外 选项。) 例如,下⾯是⼀个呈现静态“关于”页⾯的URLconf : from django.conf.urls.defaults import * from django.views.generic.simple import direct_to_template urlpatterns = patterns(, (r^about/$, direct_to_template, template: about.html }) ) ⼀眼看上去似乎有点不可思议,不需要编写代码的视图 ! 它和第⼋章中的例⼦完全⼀ 样:direct_to_template视图仅仅是直接从传递过来的额外参数获取信息并⽤于渲染视 图。 因为通⽤视图都是标准的视图函数,我们可以在我们⾃⼰的视图中重⽤它。 例如,我 们扩展 about例⼦,把映射的URL从 /about//修改到⼀个静态渲染 about/ .html 。 我们⾸ 先修改URL配置以指向新的视图函数: from django.conf.urls.defaults import * from django.views.generic.simple import direct_to_template from mysite.books.views import about_pages urlpatterns = patterns(, (r^about/$, direct_to_template, template: about.html }), (r^about/(\w+)/$, about_pages), ) 接下来,我们编写 about_pages 视图的代码: from django.http import Http404 from django.template import TemplateDoesNotExist from django.views.generic.simple import direct_to_template def about_pages(request, page): try : return direct_to_template(request, template=about/%s.htm except TemplateDoesNotExist: raise Http404() 在这⾥我们象使⽤其他函数⼀样使⽤ direct_to_

文档评论(0)

ranfand + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档