django模板语言和过滤
时间:2019-03-19
本文章向大家介绍django模板语言和过滤,主要包括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 %}
- kvm虚拟化关闭虚拟网卡virbr0的方法
- NET开发学习项目资源(2)
- Linux下selinux简单梳理
- 一段oracle中的“复杂”分组统计sql
- 通过Chocolatey软件包管理器安装.NET Core
- rsync同步时,删除目标目录比源目录多余文件的方法(--delete)
- 近期一枚“大文娱”dawenyu.com域名以小六位价格易主
- 分布式监控系统Zabbix-3.0.3-完整安装记录(0)
- URL安全的Base64编码
- 温故而知新:设计模式之原型模式(Prototype)
- Windows 7上执行Cake 报错原因是Powershell 版本问题
- 温故而知新:类索引器
- Visual Studio Code 代理设置
- 温故而知新:设计模式之工厂模式(Factory)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- TypeScript高级类型备忘录(附示例)
- 浙大版《C语言程序设计(第3版)》题目集 练习4-10 找出最小值
- 牛逼!力挺一款实用的 Linux 资源监视工具
- 浙大版《C语言程序设计(第3版)》题目集 练习4-11 统计素数并求和
- 浙大版《C语言程序设计(第3版)》题目集 习题4-1 求奇数和
- Kotlin 使用DSL构建语法结构 看这一篇就够了~
- 浙大版《C语言程序设计(第3版)》题目集 习题4-2 求幂级数展开的部分和
- 2020 年 9 月编程语言排行榜
- 浙大版《C语言程序设计(第3版)》题目集 习题4-3 求分数序列前N项和
- 浙大版《C语言程序设计(第3版)》题目集 习题4-4 特殊a串数列求和
- 一个可能让你的页面渲染速度提升数倍的CSS属性
- 浙大版《C语言程序设计(第3版)》题目集 习题4-6 水仙花数
- 浙大版《C语言程序设计(第3版)》题目集 习题4-7 最大公约数和最小公倍数
- 高危漏洞!黑客可利用sudo获得 root权限
- 浙大版《C语言程序设计(第3版)》题目集 习题4-8 高空坠球