您好,登錄后才能下訂單哦!
https://docs.djangoproject.com/en/dev/howto/custom-template-tags/
有一個(gè)應(yīng)用polls結(jié)構(gòu)如下,如何自定義templatetags
polls/ __init__.py models.py templatetags/ __init__.py poll_extras.py views.py
一,安裝polls
INSTALLED_APPS = [ ..... 'polls' ]
在polls目錄下新建一個(gè)templatetags目錄,目錄下創(chuàng)建一個(gè)空文件__init__.py以讓python識(shí)別到其是一個(gè)包
from django import templateregister = template.Library() @register.filter(name='cut') def cut(value, arg): return value.replace(arg, '') @register.filter def lower(value): return value.lower()
開啟takes_context,可以訪問當(dāng)前上下文context
import datetime from django import template register = template.Library() @register.simple_tag(takes_context=True) def current_time(context, format_string):#context接收當(dāng)前頁(yè)面的上下文字典 timezone = context['timezone'] return your_get_current_time_method(timezone, format_string)
#results.html
<ul> {% for choice in choices %} <li> {{ choice }} </li> {% endfor %} </ul>
@register.inclusion_tag('results.html') def show_results(poll): choices = poll.choice_set.all() return {'choices': choices}
{% show_results poll %} //返回如下 <ul> <li>First choice</li> <li>Second choice</li> <li>Third choice</li> </ul>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。