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>

 

posted @ 2017-05-24 16:19  王一白  阅读(305)  评论(0编辑  收藏  举报