ImageVerifierCode 换一换
格式:PDF , 页数:26 ,大小:598.58KB ,
资源ID:225351      下载积分:15 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/225351.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(PythonWeb开发基础教程 第6章 模板.pdf)为本站上传会员【曲****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

PythonWeb开发基础教程 第6章 模板.pdf

1、Python Web开发基础教程(Django版)第6章模板本章主要内容:模板基础模板语言模板继承6.1模板基础本节主要内容配置模板引擎使用模板类,使用模板文件6.1.1配置模板引擎模板引擎也称后端(BACKEND)o在项目配置文件settin生.py的TEMPLATES变量中配置模板时,使用BACKEND选项配直横板弓|擎。创建项目时,通常会在settings.py配置文件中添加模板的默认 设置 Django的默认模板引擎为、django.template.backends.django.DjangoTemplates,其语法为Django模板语言(简称DTL)。django.templat

2、e,backends.jinja2.Jinja2 是另个 Django 内置的模 板引擎。模板配置中的APP_DIRS默认值为True,表示模板引擎将在项目的所有应用目录中搜 索模板文件。也可在DIRS选项中指定搜索路径,示例代码如下。TEMPLATES=BACKEND1:django.template.backends.django.DjangoTemplates,DIRS:/html/templates/Zhtml/django,Django会按照DIRS选项中路径的先后顺序搜索模板文件。OPTIONS选项中的context_processors选项用于注册在模板中使用的上下文处理器。如赛

3、配置了多个模板引擎,则按先后顺序依次在各个模板引擎的搜索路径中寻找模板 文件。6.1.2使用模板类,dango.template.Template是Django提供的模板类,调用模板类的构造函数Template。,可以快 速窃建模破对象。,调用模板对象的render。方法,可将模板渲染为HTML代码。例如:from django.template import Template,Context,t=TemplateC你提交的数据为:data,)#创建模板对象 context=Context(data:i23)#创建上下文对象,t.render(context)#渲染模板,你提交的数据为:123

4、1,构造函数Template。将模板字符串作为参数来创建模板对象。构造函数Context。用字典对象创建上下文对象,用于封装传递给模板的数据。模板对象的render。方法接收上下文对象参数,执行渲染操作,将数据填入模板,生成HTML代 码。6.1.3使用模板文件Template对象适用于处理比较简单的模板。相对复杂的模板则应使用模板文件。模板文件是一个包含了模板语言代码的文本文件。Django对模板文件扩展名没有要求,可以是.html、.txt等,也可以没有扩展名。1.定义模板文件例如,下面的模板显示视图传递的时间。使用模板 当前时间:time 本章示例项目名称为ch叩ter6。默认情况下,模

5、板配置中APP_DIRS值为True,DIRS 为空。所以,模板文件需放置在ch叩ter6ch叩ter6templates 文件夹中。如果放在其他位置,则需要在DIRS选项中进行设置,否则Django会找不到模板文件。2.定义使用模板的视通常,模板文件不能直接使用,需要在视图中使用。例如,下面的代码定义了使用模板的视图。#chapter6chapter6views.pyfrom django.http import HttpResponse from datetime import datetimefrom django.template.loader import get_templated

6、ef getTime(request):time=datetime.today()t=get_template(myteiriplate.htiTir)html=t.render(time:time)return HttpResponse(html)#准备数据#载入模板文件#渲染模板#将模板渲染结果返回客户端视图首先调用get_template()方法来载入模板,再调用render。方法以渲染模板。在使用Template对象来创建模板时,需使用上下文对象作为render。方法的参数。使用模板文件时,则需使用字典 对象作为render。方法的参数。3.便 fflTemplateResponseT

7、emplateResponse使用模板文件生成HttpResponse响应,TemplateResponse包含了载入模板和渲集模板操作,需 要编写的代庖更少,示例代码如下。#chapter6chapter6views.py from datetime import datetime from django.template.response importTemplateResponsedef getTime2(request):time=datetime.today()return TemplateResponse(request/,mytemplate.htm,/,time,:time)4

8、.使用快捷函数render。django.shortcuts模块中的快捷函数render。与TemplateReponse构造函数类似,使用 橙板文件和上下文字典来渲染模板,并返回封装响应结窠的HttpResponse对象。例如:#chapter6chapter6views.pyfrom datetime import datetimefrom django.shortcuts import renderdef getTime3(request):time=datetime.today()return renderequest/mytemplate.htmrjtimeitime)6.2模板语言

9、 Django模板引擎支持Django模板语言(简称DTL)。DTL包含变量、注释、过滤器、标签、模板继承以及HTML转义 等语法。本节主要内容量释滤签签签 变注过标标标器:include:for:if621变量 DTL用变量名格式表示变量。变量名由字母、数字和下划线组成,但不能以下划线 开头。Django在渲染模板时,会将遇到的变量替换为上下文 中对应的变量值。如果变量是对象,可使用点号(.)访问其属性或方 法。t=TemplateC姓名:data.name,年龄:data.age,日期:now1)#创建模板 class user:pass#定义类 u=user()#创建对象 u.name=

10、”张三”#设置属性 u.aqe=25#设置数据 d=datetime.now()c=Context(,data,:u/,now,:d)#创建上下文 t.render(c)#渲染模板 姓名:张三,年龄:25,日期:July 5/2019/工o:49 a.m6.2.2注释DTL用济捐来表示注释,注释的内容不会出现在渲染结果中,示例代 码如下。t=TemplateC姓名:data.name,#年龄:data.age#,日期:now1)t.render(c)姓名:张三,日期:July 5,2019,10:49 a-m-模板中年龄的部分被注释,所以渲染结果中没有年龄信息。被济#注释的内容不能换行。要注释

11、多行内容,应使用comment标签,示例代码如下。姓名:name%comment11 多行注释11%年龄:age H期:now%endcomment%6.2.3过滤器,过滤器用于改变变量的显示结果。几个常用的过滤器如下。default:设置变量为false或为空时显示的替代值。基本格式为变量default:替代值 length:返回字符串或列表的长度。基本格式为变量length filesizeformat:将数值转换为文件大小格式,如2.5KB、12MB等。基本格式 为:变量|filesizeformat o例如:t=TemplateC数据:a|default:不正确,长度:b|length

12、,文件大小:c|filesizeformatH)c=Context(,a,:False/,b,:,abcd,/,c,:i234561)t.render(c),数据:不正球 长度:4,文件大小:i2O.6xaoKB624 标签:include 标签用土完成一窘更复杂的操作,如包含模板、控制流程、创建输出文本或 者实现模板继承等。include标签用于包含模板,将其他模板代码插入到当前位置,并使用当前模 板的上下文进行渲染。include标签的基本格式如下。%include模板名称可在包含模板时指定参数,示例代码如下。%include templatea.html with data=,abcd%

13、with之后连接的是参数,参数名与模板中的变量名一致。在传递多个参数时,使用空格作为分隔符,示例代码如下。%include templatea.html with data=abcd,data2=i23%625 标签:forfor标签用于构造循环,遍历可迭代对象。在for标签块内部,可 使用下列变量。forloop.counter:当前循环的索引,索引从1开始。forloop.countero:当前循环的索引,索引从o开始。forloop.revcounter:反向循环时,当前循环的索引,索引从i开始。forloop.revcountero:反向循环时,当前循环的索引,索引从o开始。forlo

14、op.first:在第一次通过循环时值为真,否则为假。forloop.last:在最后一次通过循环时值为真,否则为假。forloop.parentloop:嵌套循环的外层循环。例如:%for r in data%第forloop.counter行:%for a in r%a%endfor%endfor%6.2.6 标签:if,if标签用于构造条件分支,其基本结构如下。,%if van,%elif var2%,%else%endif%elif和else块可以省略,elif块可以有多个。Django按先后顺序依次计算if和elif标签的变量,如果变量为“真”(即变量存在、不为空,且 不是False

15、),则输出相应的数据块,然后流程跳转到endif标签之后。如果没有变量为“真”,则输出else数据块(如果else数据块存在的话)。在if和elif标签中直接使用变量时,当变量存在、不为空 且不是False时,视为“真”。在if和elif标签中可使用下列逻辑运算符。not:逻辑取反,“真”取反为假,假取反为“真”。例如,%if not data%。and:逻辑与,当两个操作数均为“真”时,结果才为“真”。例如,%if xand y%。-or:逻辑或,当两个操作数均为“假”时,结果才为“假”。例如,%if xory%。3个逻辑运算符的优先级从高到低依次为:not、and、or。if和elif标签

16、中可使用下列比较运算符。=:相等。例如,%if x=y%o!=:不相等。例如,%ifx!二y%。:小于。例如,%ifx:大于。例如,if x y%1o=:小于等于。例如,%ifx=:大于等于。例如,%ifx=y%。in:操作数x是否包含于y中,y可以是字符串、列表、集合或QuerySet等。例如,%if x in abcdefg%。not in:不包含于。例如,%if x not in abcdefg%o is:两个对象是否相同。例如,%ifxisTrue%。is not:两个对象是否不相同。例如,%if x is not None%。6.3 模板继承,Django支持模板继承,子模板通过继承获得父模板的 内容,并且可在子模板中覆盖父模板中的块。*父模板用%block%和%endblock%标签定义块。子模板用%extends%y标签继承父模板,并通过定义 同名的块来覆盖父模板中的块。6.4 实践:用模板实现数据分页本节主要内容

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服