PythonWeb开发基础教程-第6章-模板.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《PythonWeb开发基础教程-第6章-模板.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PythonWeb 开发 基础教程 模板
- 资源描述:
-
1、Python Web开发基础教程(Django版)第6章 模板本章主要内容:模板基础模板语言模板继承6.1模板基础本节主要内容配置模板引擎使用模板类使用模板文件6.1.16.1.1配置模板引擎配置模板引擎 模板引擎也称后端(BACKEND)。在项目配置文件settings.py的TEMPLATES变量中配置模板时,使用BACKEND选项配置模板引擎。创建项目时,通常会在settings.py配置文件中添加模板的默认设置 Django的默认模板引擎为django.template.backends.django.DjangoTemplates,其语法为Django模板语言(简称DTL)。djan
2、go.template.backends.jinja2.Jinja2是另一个Django内置的模板引擎。模板配置中的APP_DIRS默认值为True,表示模板引擎将在项目的所有应用目录中搜索模板文件。也可在DIRS选项中指定搜索路径,示例代码如下。TEMPLATES=BACKEND:django.template.backends.django.DjangoTemplates,DIRS:/html/templates,/html/django,Django会按照DIRS选项中路径的先后顺序搜索模板文件。OPTIONS选项中的context_processors选项用于注册在模板中使用的上下文处
3、理器。如果配置了多个模板引擎,则按先后顺序依次在各个模板引擎的搜索路径中寻找模板文件。6.1.26.1.2使用模板类使用模板类 dango.template.Template是Django提供的模板类,调用模板类的构造函数Template(),可以快速创建模板对象。调用模板对象的render()方法,可将模板渲染为HTML代码。例如:fromdjango.templateimportTemplate,Context t=Template(你提交的数据为:data)#创建模板对象 context=Context(data:123)#创建上下文对象 t.render(context)#渲染模板 你
4、提交的数据为:123 构造函数Template()将模板字符串作为参数来创建模板对象。构造函数Context()用字典对象创建上下文对象,用于封装传递给模板的数据。模板对象的render()方法接收上下文对象参数,执行渲染操作,将数据填入模板,生成HTML代码。6.1.36.1.3使用模板文件使用模板文件Template对象适用于处理比较简单的模板。相对复杂的模板则应使用模板文件。模板文件是一个包含了模板语言代码的文本文件。Django对模板文件扩展名没有要求,可以是.html、.txt等,也可以没有扩展名。1 1定义模板文件定义模板文件 例如,下面的模板显示视图传递的时间。使用模板 当前时间
5、:time 本章示例项目名称为chapter6。默认情况下,模板配置中APP_DIRS值为True,DIRS为空。所以,模板文件需放置在chapter6chapter6templates文件夹中。如果放在其他位置,则需要在DIRS选项中进行设置,否则Django会找不到模板文件。2 2定义使用模板的视图定义使用模板的视图 通常,模板文件不能直接使用,需要在视图中使用。例如,下面的代码定义了使用模板的视图。#chapter6chapter6views.py fromdjango.httpimportHttpResponse fromdatetimeimportdatetime fromdjang
6、o.template.loaderimportget_template defgetTime(request):time=datetime.today()#准备数据 t=get_template(mytemplate.html)#载入模板文件 html=t.render(time:time)#渲染模板 returnHttpResponse(html)#将模板渲染结果返回客户端 视图首先调用get_template()方法来载入模板,再调用render()方法以渲染模板。在使用Template对象来创建模板时,需使用上下文对象作为render()方法的参数。使用模板文件时,则需使用字典对象作为r
7、ender()方法的参数。3 3使用使用TemplateResponseTemplateResponseTemplateResponse使用模板文件生成HttpResponse响应,TemplateResponse包含了载入模板和渲染模板操作,需要编写的代码更少,示例代码如下。#chapter6chapter6views.py fromdatetimeimportdatetime fromdjango.template.responseimportTemplateResponse defgetTime2(request):time=datetime.today()returnTemplateR
8、esponse(request,mytemplate.htm,time:time)4 4使用快捷函数使用快捷函数render()render()django.shortcuts模块中的快捷函数render()与TemplateResponse构造函数类似,使用模板文件和上下文字典来渲染模板,并返回封装响应结果的HttpResponse对象。例如:#chapter6chapter6views.py fromdatetimeimportdatetime fromdjango.shortcutsimportrender defgetTime3(request):time=datetime.today
展开阅读全文