模板变量,过滤器和静态文件引用
模板變量,過(guò)濾器和靜態(tài)文件引用
模板路徑
- Djiango先到settings里面找templates下的DIRS查看是否有路徑,也是從上往下依次尋找,找到就返回。
- 如果DIRS沒(méi)有,就到APP_DIRS里面尋找。但是APP要先在INSTALLED_APPS里面進(jìn)行注冊(cè)然后根據(jù)INSTALLED_APPS里面從上往下順序依次尋找。
模板變量
- 動(dòng)態(tài)頁(yè)面:隨時(shí)間改變會(huì)改變相應(yīng)數(shù)據(jù)內(nèi)容等(并不是JS就是動(dòng)態(tài)頁(yè)面)
靜態(tài)頁(yè)面:反之
語(yǔ)法:{{變量名}},變量名命名規(guī)則和py變量一樣,但是卻不能以下劃線_開(kāi)頭;注意避免關(guān)鍵字。
例如編寫顯示時(shí)間:
from datetime import datetimedef index(request):now = datetime.now()return render(request,'teacher/index.html',context={'now' : now})#HTML <p>當(dāng)前時(shí)間是:{{now}}</p> #注意,倆個(gè)大括號(hào)里面的now對(duì)應(yīng)的是context里的key的now此時(shí)顯示的時(shí)間并不是北京時(shí)間,要進(jìn)行修改。
到項(xiàng)目目錄下的settings里面最下面的TIME_ZONE = 'UTC'進(jìn)行修改
改為TIME_ZONE = 'Asia/Shanghai'
(不要問(wèn)我為什么不是Beijing,改成Beijing會(huì)報(bào)錯(cuò),畢竟上海比較有名吧,估計(jì)是歷史原因)
修改之后:
關(guān)于模板變量的解析
- 列表list
說(shuō)明:
傳遞列表的時(shí)候獲取某個(gè)元素要使用list_name.索引的形式進(jìn)行獲取
結(jié)果如圖:
- 字典
說(shuō)明:同樣是通過(guò)dt_name.key的形式獲取某個(gè)value
結(jié)果如圖:
- 函數(shù)
說(shuō)明:
函數(shù)不能設(shè)置有參數(shù),只能設(shè)置無(wú)參數(shù)函數(shù)。因?yàn)樵诮馕龅臅r(shí)候解析的是變量名,而變量名是不可以攜帶變量的。
結(jié)果如圖:
變量解析規(guī)則
- 字典鍵值查找
- 屬性或方法查找
- 數(shù)字索引查找
解釋:
常用的過(guò)濾器
現(xiàn)在先介紹內(nèi)置過(guò)濾器(自定義以后聊)
過(guò)濾器:
- 語(yǔ)法:{{fruits|lower}}
- 作用: 對(duì)變量進(jìn)行過(guò)濾。在真正渲染出來(lái)之前,過(guò)濾器會(huì)根據(jù)功能處理好變量,然后得出結(jié)果后再替換掉原來(lái)的變量展示出來(lái)。
- 管道符號(hào)進(jìn)行鏈?zhǔn)秸{(diào)用,比如實(shí)現(xiàn)一個(gè)功能,先把所有字符變成小寫,把第一個(gè)字符轉(zhuǎn)換成大寫。{{fruits|lower|capfirst|..|..}
- 使用參數(shù):過(guò)濾器可以使用參數(shù),在過(guò)濾器名稱后面使用冒號(hào)”:”再加上參數(shù),比如要把一個(gè)字符串中所有的空格去掉,則可以使用cut過(guò)濾器,{{fruits|cut:" "}}
語(yǔ)法:{{變量名|過(guò)濾器}}
例如:
- 時(shí)間的:{{name|date:"D d M Y"}}
- 列表的:
- name|add:數(shù)字
- name|first/last
- name|slice:"num:num"
注意:不要習(xí)慣性在冒號(hào)倆邊加上空格,會(huì)報(bào)錯(cuò)
常用的過(guò)濾器:
date和time過(guò)濾器格式:
靜態(tài)文件的引用
路徑設(shè)置
靜態(tài)文件由內(nèi)建APP'django.contrib.staticfiles'管理,調(diào)試用到,實(shí)際使用不會(huì)用到
django.contrib.staticfiles這個(gè)app被包含在INSTALL_APPS中
配置語(yǔ)法:
步驟:
靜態(tài)文件引用
{% load static %}#寫在模板頂部#導(dǎo)入的時(shí)候 src = "{% static 'app_name/img/name.jpg' %}" 如此類推轉(zhuǎn)載于:https://www.cnblogs.com/pygive/p/10607779.html
總結(jié)
以上是生活随笔為你收集整理的模板变量,过滤器和静态文件引用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 昨天晚上梦到好多蛇什么预兆
- 下一篇: 51nod 1851 俄罗斯方块(思维题