国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

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

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

服務器之家 - 腳本之家 - Python - 在Python的Django框架中編寫編譯函數

在Python的Django框架中編寫編譯函數

2020-07-25 11:26Python教程網 Python

這篇文章主要介紹了在Python的Django框架中編寫編譯函數,配合模版標簽在模版中進行使用<需要的朋友可以參考下

當遇到一個模板標簽(template tag)時,模板解析器就會把標簽包含的內容,以及模板解析器自己作為參數調用一個python函數。 這個函數負責返回一個和當前模板標簽內容相對應的節點(Node)的實例。

例如,寫一個顯示當前日期的模板標簽:{% current_time %}。該標簽會根據參數指定的 strftime 格式(參見:http://www.djangoproject.com/r/python/strftime/)顯示當前時間。首先確定標簽的語法是個好主意。 在這個例子里,標簽應該這樣使用:

?
1
<p>The time is {% current_time "%Y-%m-%d %I:%M %p" %}.</p>

注意

沒錯, 這個模板標簽是多余的,Django默認的 {% now %} 用更簡單的語法完成了同樣的工作。 這個模板標簽在這里只是作為一個例子。

這個函數的分析器會獲取參數并創建一個 Node 對象:

?
1
2
3
4
5
6
7
8
9
10
11
12
from django import template
 
register = template.Library()
 
def do_current_time(parser, token):
  try:
    # split_contents() knows not to split quoted strings.
    tag_name, format_string = token.split_contents()
  except ValueError:
    msg = '%r tag requires a single argument' % token.split_contents()[0]
    raise template.TemplateSyntaxError(msg)
  return CurrentTimeNode(format_string[1:-1])

這里需要說明的地方很多:

    每個標簽編譯函數有兩個參數,parser和token。parser是模板解析器對象。 我們在這個例子中并不使用它。 token是正在被解析的語句。

    token.contents 是包含有標簽原始內容的字符串。 在我們的例子中,它是 'current_time "%Y-%m-%d %I:%M %p"' 。

    token.split_contents() 方法按空格拆分參數同時保證引號中的字符串不拆分。 應該避免使用 token.contents.split() (僅使用Python的標準字符串拆分)。 它不夠健壯,因為它只是簡單的按照所有空格進行拆分,包括那些引號引起來的字符串中的空格。

    這個函數可以拋出 django.template.TemplateSyntaxError ,這個異常提供所有語法錯誤的有用信息。

    不要把標簽名稱硬編碼在你的錯誤信息中,因為這樣會把標簽名稱和你的函數耦合在一起。 token.split_contents()[0]總是記錄標簽的名字,就算標簽沒有任何參數。

    這個函數返回一個 CurrentTimeNode (稍后我們將創建它),它包含了節點需要知道的關于這個標簽的全部信息。 在這個例子中,它只是傳遞了參數 "%Y-%m-%d %I:%M %p" 。模板標簽開頭和結尾的引號使用 format_string[1:-1] 除去。

    模板標簽編譯函數 必須 返回一個 Node 子類,返回其它值都是錯的。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费午夜电影 | 精品入口麻豆88视频 | 免费av在线 | 国产精品中文字幕在线 | 天天操狠狠操 | 国产精品综合一区二区 | 中文字幕av在线播放 | 亚洲精品一区 | 亚洲国产精品99久久久久久久久 | 高清精品一区二区 | 久久久久久亚洲 | 黄色av免费| 亚洲最新无码中文字幕久久 | 黄色一级片黄色一级片 | 福利国产 | 在线观看黄色电影 | 在线视频不卡一区 | 日韩三区 | 欧美一级二级视频 | 色婷婷国产精品综合在线观看 | 日韩精品一区二区三区av | 一级黄色片子看看 | 中文字幕亚洲精品 | 日韩中文字幕电影 | 国产精品成人一区 | 日本一区二区三区免费观看 | av网站大全免费 | 欧美做爰一区二区三区 | 久久国产精品久久久久久电车 | 天堂一区 | 黄色高清网站 | 91精品国产综合久久福利软件 | av久久| 亚洲国产精品va在线看黑人 | 日韩成人影院 | www.中文字幕 | 国产精品美女久久久久久久久久久 | 仙人掌旅馆在线观看 | 任你躁久久久久久妇女av | 日本中文在线视频 | 久久综合九色综合欧美狠狠 |