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 #} 注释的内容不会在模板渲染时输出. 用这种语法的注 ...
随机推荐
- 联想电脑 Wifi开关开不了
"VirtualBox Host-Only Network" 没有有效的IP配置 未修复 自己电脑显示 控制面板>网络和Internet>网络连接 VirtualBo ...
- java分解质因数,具体程序分析和代码
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 将一个正整数分解质因数分析:对n进行分解质因数,找到最小的质数k如果这个质数恰好等于n则说明分解质因数过程已经结束,打印输出 ...
- GreenDao在列中的单词之间自动加_
1.第一种情况,原字段(属性.列)是 驼峰式命名法 @Entitypublic class Employee { @Id(autoincrement = true) private Long id; ...
- vmware 共享文件夹
参考 https://jingyan.baidu.com/article/7f766daf7866be4101e1d0ed.html 只是设置共享文件夹选项还不行,需要从安装vmware的安装路径中找 ...
- Linux查看修改时间、时区
同步网络时间 yum install ntpntpdate time.nist.gov timedatectl set-timezone Asia/Shanghai如果上面time.nist.gov服 ...
- matlab画图标题自定义字体大小
title('标题','fontname','Times New Roman','Color','b','FontSize',20);字体是Times New Roman,颜色是蓝色('b'即blue ...
- DC之setup-hold time详解
转自一下站点: http://www.blogbus.com/bb2hh-logs/20463915.html
- python 最简单的爬虫
import urllib.request file=urllib.request.urlopen("http://www.qq.com") data=file.read() da ...
- 152. Maximum Product Subarray (Array; DP)
Find the contiguous subarray within an array (containing at least one number) which has the largest ...
- 使用mybatis-generator-core工具自动生成mybatis实体
我们可以使用mybatis-generator-core这个工具将数据库对象转换成mybatis对象,具体步骤如下. 1.mybatis-generator-core下载 下载地址:http://do ...