变量
为了便于演示,以下是views.py的代码
def test(request):
num = [1,2,3,4]
dir = {'lemon':'luouo','banana':'haha','apple':'bubu'}
hub = [(1,2),(3,4),(5,6)]
class Commodity(object):
def __init__(self,name,price):
self.name=name
self.price = price
def feel(self):
return '%s is too expensive' %self.name
house = Commodity('house','One hundred million')
car = Commodity('car','One hundred thousand')
dream=[house,car]
return render(request,'test.html',{'Num':num,'Dir':dir,'Dream':dream,'Hub':hub})
html中的用法
{{ Num }} #显示[1,2,3,4]
{{ Num.0 }} #取第一个值
{{ Dir.lemon }} #取字典中lemon的值
{{ Dream.0.name }} #取对象name的属性
{{ Dream.0.feel }} #取对象的feel方法的返回值 house is too expensive
标签
- if标签
{% if Num.0 == 1 %}
<h1>等于一</h1>
{% endif %}
其中可以增加类似{% elif Num.1 == 2 %}或{% else %}的逻辑判断
- for标签
#正向迭代
{% for foo in Num %}
<h1>{{ foo }}</h1>
{% endfor %}
#反向迭代
{% for foo in Num reversed %}
<h1>{{ foo }}</h1>
{% endfor %}
#二元组输出
{% for a,b in Hub %}
<h1>{{ a }}{{ b }}</h1>
{% endfor %}
#对字典解包
{% for a,b in Dir.items %}
<h1>{{ a }}----------{{ b }}</h1>
{% endfor %}
{% empty %} #在for循环中,定义列表位空输出的内容
{{ forloop.counter }} #for循环中的计数器,从1开始
{{ forloop.counter0 }} #for循环中的计数器,从0开始
{{ forloop.revcounter }} #for循环中的倒数计数器,从元素总个数开始直到1
{{ forloop.revcounter0 }} #for循环中的倒数计数器,从元素总个数-1开始直到0
{{ forloop.first }} #一个布尔值,当第一次for循环的时候为True
{{ forloop.last }} #一个布尔值,最后一个for循环的时候为True