{{ }}
{# 取variable中的第一個參數 #} {{ variable.0 }} {# 取字典dic中key的值 #} {{ dic.key }} {# 取obj_list對象列表中第一個對象的attr屬性值 #} {{ obj_list.0.attr }} {# 點操做只能調用不帶參數的方法 #} {{ obj_list.0.method }}
{% %}
forhtml
{% for item in item_list %}...{% empty %}...{% endfor %}
經常使用for循環參數:python
Variable | Description |
---|---|
forloop.counter |
當前循環的索引值(從1開始) |
forloop.counter0 |
當前循環的索引值(從0開始) |
forloop.revcounter |
當前循環的倒序索引值(從1開始) |
forloop.revcounter0 |
當前循環的倒序索引值(從0開始) |
forloop.first |
當前循環是否是第一次循環(布爾值) |
forloop.last |
當前循環是否是最後一次循環(布爾值) |
forloop.parentloop |
本層循環的外層循環 |
ifdjango
{% if some_condition %}...{% elif other_condition %}...{% endif %}
and 、or、==、>、<、!=、<=、>=、in、not in、is、is not
with安全
{% with new_variable = old_variable %}.....{% endwith %}
csrf_tokenapp
{% csrf_token %}
註釋ide
{# note #}
繼承oop
{% extends 'base.html' %}
塊 blockui
{% block block_name %}...{% endblock %}
組件spa
{% include 'subassembly.html' %}
引用靜態文件目錄翻譯
{% load static %}
{% load static %}
<img src="{% static 'images/sample.jpg' %}"></img>
引用靜態文件目錄
{% load static %}
<img src="{% get_static_prefix %}images/sample.jpg"></img>
自定義simpletag的步驟(與自定義Filter相似,不過接收更靈活的參數)
custom_simpletag.py中編寫自定義simpletag,例如:
from django import template register = template.Library() @register.simple_tag(name="my_simpletag") def add_simpletag(a,b,c): # 可接收多個參數 return "{} + {} + {}".format(a, b, c)
{% load custom_simpletag %} {% my_simpletag "1" "2" "3" %}
自定義inclusion_tag的步驟
custom_inclusiontag.py中編寫自定義inclusiontag,例如:
from django import template register = template.Library() @register.inclusion_tag('inclusion_tag.html') def my_inclusiontag(n): n = 1 if n < 1 else int(n) data = ["第{}項".format(i) for i in range(1, n+1)] return {"data": data}
在templates文件夾中建立剛纔註冊的inclusion_tag.html文件
<ul> {% for choice in data %} <li>{{ choice }}</li> {% endfor %} </ul>
使用自定義my_inclusiontag前,首先在HTML頁面中導入py文件
{% load custom_inclusiontag %} {% my_inclusiontag 10 %}
語法:{{ value|filter_name:args }}
,注意:管道符先後沒有空格
default
{{ value: default: "自定義內容"}}
length
filesizeformat
{{ value|filesizeformat }}
slice
{{value|slice:"start:end"}}
date
{{ value|date:"Y-m-d H: i:s"}}
safe
{{value|safe}}
truncatechars
自定義過濾器的步驟
在custom_filter.py中編寫自定義過濾器,例如:
from django import template register = template.Library() @register.filter(name="my_filter") def my_filter(value, arg): #最多接收兩個參數 return value.replace(arg, "")
{% load custom_filter %} {{ variable|my_filter:"0" }}
官方連接
https://docs.djangoproject.com/en/1.11/ref/templates/language/
官方連接-內置標籤
https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#built-in-tag-reference
官方連接-內置過濾器
https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#built-in-filter-reference
其餘連接
http://baijiahao.baidu.com/s?id=1578789736945590676&wfr=spider&for=pc
https://code.ziqiangxuetang.com/django/django-template2.html