您的位置:首页 > 编程语言 > Go语言

Django学习第二天学习笔记-模板语法

2016-11-21 19:10 621 查看
判断语句

{% if %}

{% else %}  #可省略

{% endif  %}

举例如下:

{% if user.age < 18%}
<li>未成年</li>
{% else %}
<li>成年</li>

{% endif %}

其中{% else %}不是必须的,可以直接写成下面的这样
{% if user.age < 18%}
<li>未成年</li>
{% endif %}

在模板语法中没有{% elseif %}这种写法
接下来是 and, not, or 

not 可以判断变量是不是存在

{% if not user1 %}
<li>user1不存在</li>
{% endif%}

我们还可以判断某个字符串是否为空

{% if user.name %}
<li>user.name为空</li>
{% endif%}

也可以表示某个数值是否为0
{% if not user.age %}
<li>user.age为0</li>
{% endif %}


循环语句
{% for  %}

{% endfor %}

遍历一个list:

{% for book in book_list%}
<li>{{book}}</li>
{% endfor %}

对字典的操作如下:
{% for key in user %}
<li>{{key}}</li>
{% endfor %}

要输入key,value的话,语法如下
{% for key,value in user.items %}
<li>{{key}}:{{value}}</li>
{% endfor %}

Django中的for模版标签中提供很多方便的特性,比如说reversed关键字

reversed 反向迭代

{% for book in book_list reversed %}
<li>{{book}}</li>
{% endfor%}
empty 判断一个序列是否为空
{% empty %}
<li>没有书籍</li>
{% endfor%}

等价于在前面做了一个if判断,简化了语法

注意for语句没有break,continue语句

更多语法如下

{% for book in book_list reversed %}
<li>{{book}}</li>
{% if forloop.first %} #判断是否为循环开始
<li>begin</li>
{% endif%}
<li>forloop.counter : {{forloop.counter}}</li> #从counter索引从1开始
<li>forloop.counter0: {{forloop.counter0}}</li>#从counter索引从0开始
<li>forloop.revcounter : {{forloop.revcounter}}</li>#revcounter表示剩余的循环次数,1结束

<li>forloop.revcounter0 : {{forloop.revcounter0}}</li>#revcounter0表示剩余的循环次数,0结束

{% if forloop.last %} #判断是否为循环结束
<li>last</li>
{% endif%}
{% empty %}
<li>没有书籍</li>
{% endfor%}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: