django模板语言和过滤
一:模板组成
HTML代码 + 逻辑控制代码
逻辑代码组成格式:
使用大括号来引用变量, {{ var_name }}
二: Template和Context对象
- //进入该的django的项目环境
- >>>python3 manage.py shell
- >>>from django.template import Context, Template
- >>> t = Template('My name is {{ name }}.') //创建模板
- >>> c = Context({'name': 'Stephane'}) //创建上下文
- >>> t.render(c) //使用模板渲染上下文
- //同一个模板,多个上下文,可以创建模板后,通过for循环渲染上下文
- t = Template('Hello, {{ name }}')
- for name in ('John', 'Julie', 'Pat'):
- print t.render(Context({'name': name}))
模板渲染上下文
三: 模板获取上下文变量的值
- //上下文传值
- def showTemplate(request):
- # value = 'NBA'
- # value = [1, 22, 333]
- # value = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
- # value = datetime.datetime.now()
- class Person:
- def __init__(self,name,age):
- self.name = name
- self.age = age
- value = Person('Jack', 18)
- return render(request, 'template.html', {'value': value})
- # return render(request, 'template.html', locals())
- //模板渲染
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- </head>
- <body>
- //直接显示
- {#{{ value }}#}
- //数组根据索引取值
- {#{{ value.0 }}#}
- //字典根据键取值
- {#{{ value.key1 }}#}
- //对象点调用获取属性
- {#{{ value.year }}#}
- {#{{ value.name }}#}
- </body>
- </html>
三: 过滤变量
- //字母大写, 'nba'-->'NBA'
- {{ value|upper }}
- //数字相加
- {{ value|add:2 }}
- //首字母大写
- {{ value|capfirst }}
- //删除指定字符串
- {{ value|cut:' ' }}
- //时间显示格式
- {{ value|date:'Y-m-d'}}
- //如果为空,默认显示
- {{ value|default:'null' }}
- //字符串大小,xxKB
- {{ value|filesizeformat }}
- //第一个字符
- {{ value|first }}
- //字符串长度
- {{ value|length }}
- //截取字符串,截取到倒数第二位
- {{ value|slice:'-1' }}
- //给变量中的引号加上斜线
- {{ value|addslashes }}
- //url转码
- {{ value|urlencode }}
- //将字符串转为浏览器识别的HTML标签,两种方式都可以
- 1.{{ value|safe }}
- 2. {% autoescape %}
- {{ value }}
- {% endautoescape %}
django模板语言和过滤的更多相关文章
- Django模板语言(常用语法规则)
Django模板语言 The Django template language 模板中常用的语法规则 {最新版本的Django语法可能有改变,不支持的操作可能支持了.[HTML教程 - 基本元素/标签 ...
- Django模板语言,标签整理
Django模板语言 标签 内置标签引用 1. autoescape 控制自动转义是否可用. 这种标签带有任何 on 或 off 作为参数的话,他将决定转义块内效果. 该标签会以一个endautoes ...
- Django模板语言 标签整理
Django模板语言 标签 内置标签引用 1. autoescape 控制自动转义是否可用. 这种标签带有任何 on 或 off 作为参数的话,他将决定转义块内效果. 该标签会以一个endautoes ...
- Django模板语言初识
一.Django框架简介 1.MVC框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控 ...
- Django模板语言的复用
一.include标签 由于在项目中,往往会出现多个页面拥有一个或几个相同的页面版块,或是一个页面多个页面版块是相同的,基于这个问题,我们可以采用模板语言复用include标签来帮我们解决,这样就避免 ...
- Django模板语言相关内容 Djan
Django模板语言相关内容 Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...
- Django——模板语言相关内容
Django模板语言相关内容 Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...
- Django 模板语言 路由 视图
. 模板语言(字符串替换) . 母版和继承 . 什么时候用母版? html页面有重复的代码,把它们提取出来放到一个单独的html文件. (比如:导航条和左侧菜单) . 子页面如何使用母版? {% ex ...
- django模板语言的注释
就像HTML或者Python,Django模板语言同样提供代码注释. 注释使用 {# #} : ? 1 {# This is a comment #} 注释的内容不会在模板渲染时输出. 用这种语法的注 ...
随机推荐
- NCB之taxonomy系列
1.taxonomy之简介 生物分类学是研究生物系统的一种强有力的组织原则.遗传.共同遗传的同源性以及在确定功能时保护序列和结构,这些都是生物学的中心思想,直接关系到任何一组生物体的进化史.因此,分类 ...
- redis 启动
C:\Users\Administrator>cd c:\ c:\>cd redis-2.6 c:\redis-2.6>redis-server.exe redis.conf 测试r ...
- 无线LoRa远传智能水表
无线远传智能水表是一款基于瑞萨芯片的水表,该水表具有电子计数.无线远传功能.欠费关阀等功能,无线水表具有的功能如下:无线通信采用SX1278的LoRa进行点对点通信,SX1278模块在通信中启用CAD ...
- windows上java中文乱码-指定字符集 -Dfile.encoding=UTF-8
jvm启动中增加参数: -Dfile.encoding=UTF-8 重启即可.
- 反转链表(python)
题目描述 输入一个链表,反转链表后,输出新链表的表头. # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self ...
- Linux下查看编辑二进制文件:hexedit神器
1.如果没有hexedit安装hexedit:2.打开终端输入hexedit filename;3.打开即可用键盘输入字符,用方向键移动,ctrl+w保存,ctrl+x退出:4.详细用法 man he ...
- 数位dp poj1850
题目链接:https://vjudge.net/problem/POJ-1850 这题我用的是数位dp,刚刚看了一下别人用排列组合,我脑子不行,想不出来. 在这题里面我把a看成1,其他的依次递增,如果 ...
- matlab基础绘图知识
axis([xmin xmax ymin ymax]) %设置坐标轴的最小最大值 xlabel('string') %标记横坐标 ylabe ...
- FortiGate常用命令
1.命令结构 config Configure object. 对策略,对象等进行配置 get Get dynamic and system information. 查看相关关对 ...
- Django创建模型,迁移数据
1.在models.py文件中添加代码 class notice(models.Model): notice_title = models.CharField(max_length=255) noti ...