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