Django入门二之模板语法

Posted Python编程时光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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入门学习--深入模板(templates)

DJANGO入门系列之(模板层)

Django基础二之URL路由系统

02.Django基础二之URL路由系统

Django基础二之URL路由系统

django---入门