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 #} 注释的内容不会在模板渲染时输出. 用这种语法的注 ...
随机推荐
- 04_web基础(二)之web构建
03.04.05.06web项目创建 07.第一个Servlet程序 1.拷贝tomcat 中的 servlet-api.jar 在lib包下面 2.新建一个HelloWordServlet类并实现 ...
- 两种创建Observable的方法(转)
转自:http://blog.csdn.net/nicolelili1/article/details/52038211 Observable.create() create()方法使开发者有能力从头 ...
- Android笔记:intent
一.显式intent如下:(1)在intent构造函数传入两个activity文件名Intent intent = new Intent(FirstActivity.this, SecondActiv ...
- Serializers序列化组件
Django的序列化方法 .values 序列化结果 class BooksView(View): def get(self, request): book_list = Book.objects.v ...
- TOJ 5225: 玩转二叉树
传送门:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=5225 时间限制(普通/Java): ...
- String int 相互转换
String->int: int i = Integer.parseInt(s) int->String: String s = Integer.toString(i)
- Codeforces Beta Round #77 (Div. 2 Only)
Codeforces Beta Round #77 (Div. 2 Only) http://codeforces.com/contest/96 A #include<bits/stdc++.h ...
- vue初学:基础概念
一.vue使用步骤: 1.引包vue.js 2.html中写要操作的DOM节点 3.创建vue对象:new Vue({options}); 4.配置options:el:(要操作的对象,用选择器,同j ...
- 宋体freetype16和12号字无法正常显示
在使用freetype过程中发现,从window下拷贝来的simsun.ttc, simkai.ttf两个字体, 在调用 FT_Set_Pixel_Sizes(face, 12, 0): 将字体大小设 ...
- Django的Rbac介绍1
1.django的权限管理叫做RBAC 我们在百度上查看RBAC的概念如下 基于角色的权限访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的 ...