发布于2021-05-30 19:34 阅读(1420) 评论(0) 点赞(30) 收藏(3)
{{ 变量 }}
中。对象.属性名
来进行访问。class Person(object):
def __init__(self,username):
self.username = username
context = {
'person': p
}
以后想要访问person
的username
,那么就是通过person.username
来访问。字典.key
的方式进行访问,不能通过中括号[]
的形式进行访问。context = {
'person': {
'username':'xiaosheng'
}
}
那么以后在模版中访问username
。就是以下代码person.username
key
时候也是使用点.
来访问,因此不能在字典中定义字典本身就有的属性名当作key
,否则字典的那个属性将编程字典中的key了。context = {
'person': {
'username':'xiaosheng',
'keys':'abc'
}
}
以上因为将keys
作为person
这个字典的key
了。因此以后在模版中访问person.keys
的时候,返回的不是这个字典的所有key,而是对应的值。点.
的方式进行访问,不能通过中括号[]
的形式进行访问。这一点和python中是不一样的。示例代码如下:{{ persons.1 }}
{%%}
之间。{% endif %}
。==、!=、<、<=、>、>=、in、not in、is、is not
这些都可以使用。elif
以及else
等标签。for...in...
标签:for...in...
类似于Python
中的for...in...
。可以遍历列表、元组、字符串、字典等一切可以遍历的对象。示例代码如下:
{% for person in persons %}
<p>{{ person.name }}</p>
{% endfor %}
如果想要反向遍历,那么在遍历的时候就加上一个reversed
。
{% for person in persons reversed %}
<p>{{ person.name }}</p>
{% endfor %}
遍历字典的时候,需要使用items
、keys
和values
等方法。在DTL
中,执行一个方法不能使用圆括号的形式。遍历字典示例代码如下:
{% for key,value in person.items %}
<p>key:{{ key }}</p>
<p>value:{{ value }}</p>
{% endfor %}
for
循环中,DTL
提供了一些变量可供使用forloop.counter
:当前循环的下标。以1作为起始值。forloop.counter0
:当前循环的下标。以0作为起始值。forloop.revcounter
:当前循环的反向下标值。比如列表有5个元素,那么第一次遍历这个属性是等于5,第二次是4,以此类推。并且是以1作为最后一个元素的下标。forloop.revcounter0
:类似于forloop.revcounter。不同的是最后一个元素的下标是从0开始。forloop.first
:是否是第一次遍历。forloop.last
:是否是最后一次遍历。forloop.parentloop
:如果有多个循环嵌套,那么这个属性代表的是上一级的for循环。** 模板中的for…in…没有continue和break语句,这一点和Python中有很大的不同,一定要记清楚!**
for...in...empty
标签:这个标签使用跟for...in...
是一样的,只不过是在遍历的对象如果没有元素的情况下,会执行empty
中的内容。示例代码如下:
{% for person in persons %}
<li>{{ person }}</li>
{% empty %}
暂时还没有任何人
{% endfor %}
原文链接:https://blog.csdn.net/weixin_44154094/article/details/117392246
作者:Nxnndn
链接:http://www.phpheidong.com/blog/article/86662/d881aef8e6ac6f4bde38/
来源:php黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 php黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-4
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!