最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django創(chuàng)建自定義模板處理器的實(shí)例詳解

 更新時間:2017年08月14日 10:41:21   投稿:lqh  
這篇文章主要介紹了django創(chuàng)建自定義模板處理器的實(shí)例詳解的相關(guān)資料,這里說明了如何需要django模板處理器及實(shí)現(xiàn)方法,希望大家能理解掌握這部分內(nèi)容,需要的朋友可以參考下

django創(chuàng)建自定義模板處理器:

一、需求來源:

在django開發(fā)中,頁面是通過template(模板)進(jìn)行渲染的,對于一些數(shù)據(jù),可以通過{{ 變量 }}的方式進(jìn)行傳遞。但是,如果整個網(wǎng)站中,或者整個網(wǎng)站的大部分頁面都用到了一些變量或者數(shù)據(jù),那么每次渲染的時候都傳遞一次這幾個數(shù)據(jù)顯得相當(dāng)?shù)娜哂?。這與django的DRY(Don't repeat yourself)思想不符,因此django提供了一種方式,讓你能自定義處理器。

二、django默認(rèn)的處理器:

在django開發(fā)中,django默認(rèn)為你加載了四個處理器,這些處理器是django包自帶的。你可以在settings.py中的TEMPLATES的OPTIONS的context_processors中找到所有django為你默認(rèn)加載的處理器。
其中有包括:

'django.template.context_processors.debug',        'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',        'django.contrib.messages.context_processors.messages',

三、自定義django處理器:

建議在項(xiàng)目的主app下(也就是你的項(xiàng)目名稱的app下)創(chuàng)建一個文件叫做context_processors.py
不管是自定義的處理器還是django自帶的處理器,都是定義一個函數(shù),這個函數(shù)帶有一個request的參數(shù),返回一個字典,用來表示模板中的參數(shù)。

比如我們要創(chuàng)建一個帶有個人信息的處理器,格式如下:

def mycontact(request):
  return {
    'telephone': 'aaa',
    'qq': 'bbb',
    'email': 'cc@163.com'
  }

在settings.py配置文件中,找到TEMPLATES里面的context_processors,然后在后面添加你的自定義的處理器,比如我們的項(xiàng)目名稱叫mysite,然后我把context_processors.py放到了mysite/mysite下面,也就是和settings.py同級的目錄下,因此加載的路勁為mysite.context_processors.mycontact,因此,現(xiàn)在的context_processors中的數(shù)據(jù)如下:

'context_processors': [
  'mysite.context_processors.mycontact',
          'django.template.context_processors.debug',
          'django.template.context_processors.request',
          'django.contrib.auth.context_processors.auth',
          'django.contrib.messages.context_processors.messages',
    ]

以后你就可以在你的模板文件中,通過{{變量}}的方式引入你的變量了。

注意事項(xiàng):你必須在TEMPLATES中將APP_DIRS設(shè)置為True,django才會加載你放在django的app下面的處理器。

如有疑問請留言或者到本站社區(qū)交流討論,大家共同進(jìn)步,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論

英山县| 永川市| 安多县| 泰和县| 宁明县| 静宁县| 定襄县| 灵丘县| 巨鹿县| 新巴尔虎左旗| 晋城| 明水县| 平湖市| 滦平县| 盘锦市| 东港市| 巩留县| 肥乡县| 永平县| 罗平县| 鲁山县| 鄂尔多斯市| 洮南市| 尼木县| 中牟县| 虹口区| 延长县| 建阳市| 通榆县| 麻江县| 东兰县| 都安| 德保县| 分宜县| 鄂托克前旗| 响水县| 洛川县| 克什克腾旗| 白银市| 建始县| 辽宁省|