一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python的Django框架中自定義模板標簽的示例

Python的Django框架中自定義模板標簽的示例

2020-07-25 11:25腳本之家 Python

這篇文章主要介紹了Python的Django框架中自定義模板標簽的示例,標簽的用處比過濾器更多,需要的朋友可以參考下

為了自定義一個模板標簽,你需要告訴Django當遇到你的標簽時怎樣進行這個過程。

當Django編譯一個模板時,它將原始模板分成一個個 節點 。每個節點都是 django.template.Node 的一個實例,并且具備 render() 方法。 于是,一個已編譯的模板就是 節點 對象的一個列表。 例如,看看這個模板:

?
1
2
3
4
5
6
7
8
Hello, {{ person.name }}.
 
{% ifequal name.birthday today %}
  Happy birthday!
{% else %}
  Be sure to come back on your birthday
  for a splendid surprise message.
{% endifequal %}

被編譯的模板表現為節點列表的形式:

  •     文本節點: "Hello, "
  •     變量節點: person.name
  •     文本節點: ".\n\n"
  •     IfEqual節點: name.birthday和today

當你調用一個已編譯模板的 render() 方法時,模板就會用給定的context來調用每個在它的節點列表上的所有節點的 render() 方法。 這些渲染的結果合并起來,形成了模板的輸出。 因此,要自定義模板標簽,你需要指明原始模板標簽如何轉換成節點(編譯函數)和節點的render()方法完成的功能 。

在下面的章節中,我們將詳細解說寫一個自定義標簽時的所有步驟。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲卡一卡2卡三卡4麻豆 | 91制片厂果冻传媒杨柳作品 | 欧美一区二区三区在线观看免费 | 日本一道一区二区免费看 | 跪趴好紧h | 国产亚洲精aa在线观看香蕉 | 男男gaygays黑人| 亚洲国产福利精品一区二区 | 69av美女| 成人精品亚洲人成在线 | 夫妇交换小说全文阅读 | 精品久久久久久久久久久久久久久 | 精品国产乱码久久久久久免费流畅 | 天天视频官网天天视频在线 | 日本中文字幕一区二区三区不卡 | www.四虎网站 | 嫩草在线观看视频 | www.亚洲天堂 | 欧美夜夜精品一级爽 | 国产一区国产二区国产三区 | 国产精品久久久久久网站 | 欧美亚洲国产一区二区三区 | chinese调教踩踏视频 | 日韩在线观看一区二区不卡视频 | 我的男友是消防员在线观看 | 免费看一级毛片 | 日韩毛片基地一区二区三区 | 高h辣文小说网 烧书阁 | 日韩免费观看 | 草逼视频网址 | 午夜影视在线观看 | 欧美成人aa| 香蕉国产成版人视频在线观看 | 2019亚洲男人天堂 | 国产精品亚洲午夜一区二区三区 | 毛片免费的 | 97视频免费人人观看人人 | 四虎地址| 男人和女人上床 | 2012在线观看免费视频大全 | 国产99精品免费视频看6 |