- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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_
您可能关注的文档
- 03 LCE控制系统培训课程.pdf
- 10KV高压开关柜订货技术要求.pdf
- 098 PZ96B多功能表产品功能使用说明V1.2.pdf
- 110kV输电线路继电保护整定计算及仿真对比分析_何松.pdf
- 12.4 非正弦电流电路的计算.ppt
- 10kV电缆线路短路电流计算及应用.pdf
- 1故障码1111.docx
- 2.4 节信号流图自动控制原理.pdf
- 06章习题-答案.pdf
- 16_2动生电动势和感生电动势.pptx
- 2024-2025学年度火电电力职业鉴定真题含答案详解(实用).docx
- 防触电知识讲座班会PPT(完整版).pptx
- 2024-2025学年度火电电力职业鉴定真题附参考答案详解(基础题).docx
- 2025年01月广东中山大学附属第一医院应届毕业生招聘(行政职能科室岗位)笔试历年专业考点(难、易错点荟萃)附带答案详解.docx
- 2024-2025学年度火电电力职业鉴定真题及答案详解【必刷】.docx
- 2024-2025学年度火电电力职业鉴定真题及完整答案详解(各地真题).docx
- 2024-2025学年度火电电力职业鉴定真题及答案详解(真题汇编).docx
- 2024-2025学年度火电电力职业鉴定真题及完整答案详解【历年真题】.docx
- 2024-2025学年度火电电力职业鉴定真题及参考答案详解(能力提升).docx
- 2024-2025学年度火电电力职业鉴定真题及参考答案详解(巩固).docx
文档评论(0)