码迷,mamicode.com
首页 > 其他好文 > 详细

Django4.1_template之变量和过滤器

时间:2018-11-14 23:15:30      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:name   分离   html   不能   process   images   索引   进一步   重复   

一.简述
在现在的web实际开发中,为了更加规范的编码及方便后期的项目规划,我们要求前后端分离,前端更进一步要求布局(HTML)、样式(CSS)、行为(JS)分离。在django中,我们把template分离出来作为一个独立的模块来处理HTML。本章节主要讲解django中的template模块的使用。
二.模板语法
模板组成:HTML+逻辑代码
三.模板之逻辑代码
1.模板渲染的原理
两个概念:
template:模板
context:上下文
渲染原理(过程):
A.Django先通过Template生成一个实例化template对象;
B.Diango再通过Context生成一个实例化context对象;
C.Djangi通过template实例调用渲染方法(例如:render())来渲染生成结果;
如图:
技术分享图片
代码块如下:

>> from django.template import Template,Context
>> template = Template("welcome to {{name}}.")
>> context = Context({‘name‘:‘浙江‘})
>> template.render(context)
‘welcome to 浙江.‘

注:以上的过程是在django内部实现的,比较复杂,所以我们直接使用django封装好的方法实现该效果即可,即render(request,’template对象文件’,data)或render(request,’template对象文件’,local())
同一个模板对象可以重复使用。
2.模板之变量
2.1格式:{{varname}}
在HTML中使用双引号包裹变量名,再通过view中将变量对应的值传过来(传值有两种方式:1.{key:value};2.locals())。
实例代码如下:
技术分享图片
技术分享图片
技术分享图片
2.2变量的类型及变量深度查询
变量可以是字符串、字典、列表、元组、对象等等。
如图:
技术分享图片

技术分享图片
页面效果图:
技术分享图片
注:在template中使用的均是深度查询,即只能通过符号.(点)进行下一级查询且所有的序列数据类型均能使用索引正常查询但不能使用方括号的格式,只能使用var.index的格式,不能使用var[index]或dic[key]的格式。
2.3
3.模板之过滤器
注:该部分图片来自网络(如有侵权,联系删除)
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片

欢迎关注笔者个人公众号:
技术分享图片

Django4.1_template之变量和过滤器

标签:name   分离   html   不能   process   images   索引   进一步   重复   

原文地址:http://blog.51cto.com/10836356/2317077

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!