django的模板語言
阿新 • • 發佈:2018-02-27
django 模板 模板可以分為下面幾類
的目錄,如下圖
2、在這個
3,在模板使用的時候需要導入
4、這個app必須要在setting裏面做了配置,否則不能使用自定義的
5,多個參數的傳參
給xxx.py文件修改,可以獲取多個參數
- 母版
- 函數->>自動執行(這裏自動執行是不能給參數的)
- 模板自定義函數:
* simple_filter
這個simple_filter就是html裏面的{{name|upper}}中的upper,這個內置函數就是一個simple_filter
自定義simple_tag
參考:https://docs.djangoproject.com/en/1.10/ref/templates/language/
http://www.cnblogs.com/wupeiqi/articles/5237704.html
1、要在任意的一個app下面創建名字必須為templatetags
2、在這個
templatetags
目錄下面創建任意一個名字的py文件,如下圖3,在模板使用的時候需要導入
4、這個app必須要在setting裏面做了配置,否則不能使用自定義的
5,多個參數的傳參
給xxx.py文件修改,可以獲取多個參數
這個時候如果,前端引用的時候還是name|my_upper,沒有給傳參數就會報錯,如下
所以我們可以在應用的時候傳遞第二個參數
{{ name|my_upper:"89989898"}}
這樣得到的結果,後面是有值的,如下圖
filter 這只能傳遞一個參數,既
my_upper:"89989898"
中的my_upper後面不能有空格,直接加一個字符串,要想多個,就用逗號分隔,寫成多個my_upper:"89,98,98,98"
這裏的filter,可以作為if 判斷語句的條件,而下面的tag就是不可以的
tag方法
模板的語言
{{ item }} {% for item in item_list %} <a>{{ item }}</a> {% endfor %} forloop.counter forloop.first forloop.last {% if ordered_warranty %} {% else %} {% endif %} 母板:{% block title %}{% endblock %} 子板:{% extends "base.html" %} {% block title %}{% endblock %} 幫助方法: {{ item.event_start|date:"Y-m-d H:i:s"}} {{ bio|truncatewords:"30" }} {{ my_list|first|upper }} {{ name|lower }}
公共的組件include方法
django的模板語言