真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

模板語法之標簽

語法

{% 開始標簽 %}
....
{% 結(jié)束標簽%}

if標簽

例:{% if ... %}
{% elif %}
{% else %}
{% endif %}
if語句支持 and 、or、==、>、<、!=、<=、>=、in、not in、is、is not判斷。

for標簽

# for 標簽帶有一個可選的{% empty %} 從句,以便在給出的組是空的或者沒有被找到時,可以有所操作。
{% for person in person_list %}
{{ person.name }}
{% empty %}
sorry,no person here
{% endfor %}
注:循環(huán)序號可以通過{{forloop}}顯示
?forloop.counter            當(dāng)前循環(huán)的索引值(從1開始)
forloop.counter0          當(dāng)前循環(huán)的索引值(從0開始)
forloop.revcounter       當(dāng)前循環(huán)的倒序索引值(從1開始)
forloop.revcounter0    當(dāng)前循環(huán)的倒序索引值(從0開始)
forloop.first              當(dāng)前循環(huán)是不是第一次循環(huán)(布爾值)
forloop.last              當(dāng)前循環(huán)是不是最后一次循環(huán)(布爾值)
forloop.parentloop         本層循環(huán)的外層循環(huán)

with標簽

# with起別名
{% with d.hobby.3.info as nb  %}

{{ nb }}

在with語法內(nèi)就可以通過as后面的別名快速的使用到前面非常復(fù)雜獲取數(shù)據(jù)的方式 {% endwith %}

自定義過濾器、標簽、inclusion_tag

先三步走
  1.在應(yīng)用下創(chuàng)建一個名字”必須“叫templatetags文件夾
  2.在該文件夾內(nèi)創(chuàng)建“任意”名稱的py文件 eg:mytag.py
  3.在該py文件內(nèi)"必須"先書寫下面兩句話(單詞一個都不能錯)
    from django import template
    register = template.Library()
4.然后在再其中輸入需要自定義的東西,如下:
"""
# 自定義過濾器
@register.filter(name='baby')
def my_sum(v1, v2):
return v1 + v2
# 使用
{% load mytag %} #模板層加載mytag文件

{{ n|baby:666 }}

# 自定義標簽(參數(shù)可以有多個) 類似于自定義函數(shù) @register.simple_tag(name='plus') def index(a,b,c,d): return '%s-%s-%s-%s'%(a,b,c,d) # 使用 標簽多個參數(shù)彼此之間空格隔開

{% plus 'jason' 123 123 123 %}

# 自定義inclusion_tag """ 內(nèi)部原理 先定義一個方法 在頁面上調(diào)用該方法 并且可以傳值 該方法會生成一些數(shù)據(jù)然后傳遞給一個html頁面 之后將渲染好的結(jié)果放到調(diào)用的位置 """ @register.inclusion_tag('left_menu.html') def left(n): data = ['第{}項'.format(i) for i in range(n)] # 第一種 # return {'data':data} # 將data傳遞給left_menu.html # 第二種 return locals() # 將data傳遞給left_menu.html {% left 5 %} # 總結(jié):當(dāng)html頁面某一個地方的頁面需要傳參數(shù)才能夠動態(tài)的渲染出來,并且在多個頁面上都需要使用到該局部 那么就考慮將該局部頁面做成inclusion_tag形式 (在講bbs的時候會使用到)

本文題目:模板語法之標簽
網(wǎng)站URL:http://weahome.cn/article/dsogeso.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部