本文和大家分享的主要是django
中模板標(biāo)簽相關(guān)內(nèi)容,一起來看看吧,希望對(duì)大家
學(xué)習(xí)django有所幫助。
1.IF標(biāo)簽
Hello World/views.py
1
from django.shortcuts
import render
2
3
class
Person(object):
4
def
__init__(self,name,age,sex):
5 self.name=name
6 self.age=age
7 self.sex=sex
8
9
def
say(self):
10
return "I'm %s." %self.name
11
12
def
index(request):
13 #
傳入普通變量
14 #
傳入數(shù)據(jù)為
html
中的變量:
views
中的變量
15 #return render(request,'index.html',{'title':'Welcome','name':'KeinLee'})
16
17 #
傳入字典變量
18 person = {'name':'Lee','age':20,'sex':'male'}
19 #
傳入列表變量
20 book_list =['Python','Java','C']
21 #book_list =[]
22 #
傳入對(duì)象變量
23 #person=Person('Lucky',18,'female')
24
return render(request,'index.html',{'title':'Welcome','person':person,'book_list':book_list})
views.py
(1
)
if ...elif...else...endif
Hello World/temlplates/index.html
{%
if book_list.0 == 'Java' %}
第一本書是Java{%
elif book_list.0 == 'Python' %}
第一本書是Python{%
else %}
第一本書是C{%
endif %}
View Code
結(jié)果為:第一本書是Python
?。?/span>2
)
if...and...or...not...endif
注意:and
和
or
可以同用,但是
and
的優(yōu)先級(jí)比
or
高
Hello World/temlplates/index.html
{%
if book_list or person %}
存在book_list
或者
person{%
endif %}
{%
if book_list and person %}
book_list
和
person
都存在
{%
endif %}
{%
if book_list and not person %}
存在book_list
不存在
person{%
endif %}
View Code
結(jié)果為:存在book_list
或者
person
、
book_list
和
person
都存在、(空)
(3
)
if
符號(hào)運(yùn)算(
==
、
!=
、
>
、
>=
、
<=
、
<
、
in
、
not in
、
is
、
is not
)
if is XX True
這個(gè)是當(dāng)且僅當(dāng)
XX
為真,這個(gè)暫時(shí)理解不了
{%
if book_list.0 == 'Python' %}
1.
第一本書是
Python{%
endif %}
{%
if book_list.0 != 'Python' %}
2.
第一本書不是
Python{%
endif %}
{%
if person.age <= 20 %}
3.
這個(gè)人的年齡沒超過
20{%
else %}
4.
這個(gè)人的年齡超過
20{%
endif %}
{%
if 'Python'
in book_list %}
5.Python
在
book_list
列表里
{%
endif %}
{%
if 'Py' not
in book_list %}
6.Py
在
book_list
列表里
{%
endif %}
{%
if book_list.4 is not True %}
7.book_list.4
不存在
{%
endif %}
{%
if book_list is not None%}
8.book_list
列表存在
{%
endif %}
View Code
結(jié)果:1
、
3
、
5
、
6
、
7
、
8
能夠顯示
2.For標(biāo)簽
?。?/span>1
)列表
for
循環(huán)
{%
for book
in book_list %}{{book}}{%
endfor %}
結(jié)果:Python Java C
(2
)字典
for
循環(huán)
{%
for k,v
in person.items %}{{k}}:{{v}}{%
endfor %}
結(jié)果:sex:male name
ee age:20
?。?/span>3
)
for...empty
(在
views.py
中沒有定義
book_list2
)
{%
for book
in book_list2 %}{{book}}{%
empty %}
沒有這個(gè)列表或者該列表為空{%
endfor %}
結(jié)果:沒有這個(gè)列表或者該列表為空
?。?/span>4
)
forloop
forloop.counter
循環(huán)記數(shù),默認(rèn)
1
開始
forloop.counter0
循環(huán)記數(shù),從
0
開始
forloop.revcounter
循環(huán)到記數(shù),默認(rèn)
1
結(jié)束
forloop.revcounter0
循環(huán)記數(shù),到
0
結(jié)束
forloop.first
第一次循環(huán)
bool
值為
True
,一般與
if
連用
forloop.last
最后一次循環(huán)
bool
值為
True
,一般與
if
連用
forloop.parentloop
循環(huán)嵌套中對(duì)上一層循環(huán)的操作
{%
for k
in person %}{%
if forloop.first %}
這是第一次循環(huán){%
elif forloop.last%}
這是最后一次循環(huán){%
else %}{{k}}{%
endif %}{%
endfor %}
結(jié)果:這是第一次循環(huán) name
這是最后一次循環(huán)
來源:
博客園