Django自定義html標(biāo)簽-創(chuàng)新互聯(lián)

自定義一個(gè)html標(biāo)簽

參考:https://docs.djangoproject.com/en/dev/howto/custom-template-tags/
    第一步:在 app下創(chuàng)建templatetags包,也就是本案例的bbs下創(chuàng)建templatetags包如下:
    bbs/templatetags/__init__.py
    bbs/templatetags/poll_extras.py


    第二步:編寫poll_extras.py文件,編寫成你需要的標(biāo)簽,下面編寫的是,把數(shù)據(jù)轉(zhuǎn)為大寫字母


        from django import  template     ###必須應(yīng)用template模塊
        register = template.Library()

        @register.filter
        def test_tag(data):
            print 'tag:::  ' ,data
            return data.upper()


    第三步:在引用的html文件中使用
    {% load poll_extras %}



    第四步:在html中應(yīng)用這個(gè)標(biāo)簽,如下: 把作者名稱改為大寫,它不能解析html內(nèi)容
    <a>{{ article.author.name|test_tag }}</a>     ## 這中調(diào)用方式用于@register.filter裝飾器,


    如果是@register.simple_tag這種裝飾器就需要用下面的調(diào)用方法,且這中裝飾器可以解析html格式
    <a>{% test_tag2 article.author.name %}</a>

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站設(shè)計(jì),高端網(wǎng)頁制作,對(duì)成都?jí)w彩繪等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)seo優(yōu)化優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
from django.utils.safestring import mark_safe
from django import  template     ###必須應(yīng)用template模塊
register = template.Library()

@register.filter
def test_tag(data):
    print 'tag:::  ' ,data
    return data.upper()


@register.simple_tag
def test_tag2(data):
    print 'tag:::  ' ,data
    #return data.upper()
    a = '<h2>%s</h2>' % data    ##@register.simple_tag可以解析html返回,,

    return mark_safe(a)     
    ##在新版的django中,如果需要用@register.simple_tag解析html文本,需要額外添加 :
    from django.utils.safestring import mark_safe
    這個(gè)make_safe模塊才可以   
    如果是@register.simple_tag這種裝飾器就需要用下面的調(diào)用方法,且這中裝飾器可以解析html格式
    <a>{% test_tag2 article.author.name %}</a>

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文標(biāo)題:Django自定義html標(biāo)簽-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://www.muchs.cn/article14/dgiide.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、定制開發(fā)、品牌網(wǎng)站制作、建站公司網(wǎng)站策劃、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)