Django入门二之模板语法
一. 模板变量
Context传入的可以是一个str,dict,list,甚至是一个实例对象
在html中如何调用这些对象进行取值呢
1. 变量名
{{ variable }}
返回字符串,无论是str,list,dict
2. list取值
{{ list.index }}
如{{ list.0}},{{ list.1}},分别取list的第一个元素和第二个元素
3. dict取值
{{ dict.key }}
如{{ user.name }} ,name={'name':'Tom'}
4. 实例取值或调用方法
{{ instance.attribute }}
{{ instance.function }} #不用加括号
示例展示见下图

二、 逻辑运算符
and or 不能共存
三、 判断语句
not表示不存在,为空,或者为0

四、 循环loop
语法:
{% for ... in ... %}
{% endfor %}


判断是否为空有两种方法

循环的索引

五、过滤器
过滤器相当于管道,对HTML中的变量执行一系列的函数
这些过滤器有内置的,也可以自定义:
这里自定义一个在字符串末尾加%的过滤器
在app(blog)文件夹下,新建一个名为(templatetags)文件夹(其实是一个包,那么就需要新建一个空的__init__.py文件)
在文件夹中,新建py文件,名字自取(但要和后面{% load name %})对应起来,这里命名myfilter.py

#myfilter.py
from django import template
register = template.Library() def percent(value):
return value + "%" register.filter(percent)
#index.html
{% load myfilter %}
<h1>男生比例:{{ male_proportion | percent }}</h1>
Django入门二之模板语法的更多相关文章
- Django(二) 模板:基本使用、模板语法、模板继承
一.模板的使用实战 接:https://blog.csdn.net/u010132177/article/details/103788677 参考:https://docs.djangoproject ...
- Django实战(二)之模板语言
该实战教程基于菜鸟教程,菜鸟教程可参考:http://www.runoob.com/django/django-template.html 模板语法,每个框架都有其支持的模板语法,Django的模板语 ...
- vue入门:(模板语法与指令)
vuejs使用及HTML的模板语法,可以实现声明式将DOM绑定至底层VUE实例的数据.通过模板语法将数据渲染进DOM的系统,结合响应系统,在应用状态改变时,Vue能够计算出重新渲染组件的最小代价并应用 ...
- Django笔记&教程 3-2 模板语法介绍
Django 自学笔记兼学习教程第3章第2节--模板语法介绍 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/topics/templates/# ...
- angular2系列教程(二)模板语法
今天我们要讲的是angualr2的模板语法,官网写的很清楚,但我也用通俗易懂的讲法再罗列一下吧! 例子
- python学习笔记--Django入门二 Django 的模板系统
为了使网站更干净简洁更容易维护,页面的设计和Python的代码必须分离开.我们可以使用Django的 模板系统 (Template System)来实现这种模式. 几个简单的模板标签(tag): ...
- Django入门(二)
这一节主要介绍django中的model,template模板. model是django自带的orm框架,下面我们来搭建一个博客网站,来看看是如何使用的. 1.新建应用blog python man ...
- Angular语法(二)——模板语法
双花括号{{}} <img src="{{heroImageUrl}}" style="height:30px"> <!-- "Th ...
- Django(四)框架之第三篇模板语法
https://www.cnblogs.com/yuanchenqi/articles/6083427.htm https://www.cnblogs.com/haiyan123/p/7725568. ...
随机推荐
- R12 - Error 'Unable to process your transaction. The operating unit is either invalid or it cannot b
In this Document Symptoms Cause Solution Still Have Questions? References APPLIES TO: Orac ...
- 深入 JAVA里面关于byte数组和String之间的转换问题
把byte转化成string,必须经过编码. 例如下面一个例子: importjava.io.UnsupportedEncodingException; publicclass test{ pub ...
- 21_Android中常见对话框,光传感器,通过重力感应器编写出指南针应用,帧动画,通过Jav代码的方式编写补间动画,通过XML的方式编写补间动画
1 关于常见的对话框,主要有: 常见的对话框,单选对话框,多选对话框,进度条对话框(转圈类型的),带进度条的对话框. 案例结构: 完成如下结构的案例,将所有的案例都测试一下: 2 编写MainA ...
- Leetcode_100_Same Tree
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42061529 Given two binary trees ...
- java对象大小
Java对象的内存布局:对象头(Header),实例数据(Instance Data)和对齐填充(Padding) 对象头在32位系统上占用8B,64位系统上占16B. 无论是32位系统还是64位系统 ...
- unity shaderlab Blend操作
原文链接: http://www.tiankengblog.com/?p=84 Blend混合操作是作用于在所有计算之后,是Shader渲染的最后一步,进行Blend操作后就可以显示在屏幕上.shad ...
- hive语句嵌入python脚本(进行map和reduce,实现左外连接)
在Hive语句中使用脚本(如python和shell)进行map和reduce:利用命令transform(或者指定map和reduce),配合加入的脚本文件add file 请看:http://ww ...
- 断言(Assertion)需要注意的一个地方
因为断言只在debug构建中有效,所以它是中关重要的去避免运行任何代码或调用任何方法在断言条件中,而这些代码或方法会影响程序的状态. 否则程序的行为将在debug和release构建中变得不一致,这显 ...
- 如何修改linux开机运行配置脚本
开机运行级别的配置角本 /etc/inittab 开机运行级别 init 是切换运行级别的指令 0.关机 //init0 1.单用户模式(自动获取超级用户权限,无网络,无服 ...
- LeetCode(46)-Remove Nth Node From End of List
题目: Given a linked list, remove the nth node from the end of list and return its head. For example, ...