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

判断语句

{% 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%}





发布了27 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/jfztaq/article/details/53262605