标签:content counter 列表 定义 -- 注册 ring 引入 values
def func(request): return render(request, "html模板", {"current_user": "alex"})
<html> <body> <div>{{ current_user }}</div> </body> </html>
def func(request): return render(request, "html模板路径", {"current_user": "alex", "user_list": ["alex", "eric"],"age": 18})
{% if age %} <a>有年龄</a> {% if age > 16 %} <a>老男人</a> {% else %} <a>小鲜肉</a> {% endif %} {% else %} <a>无年龄</a> {% endif %}
def func(request): return render(request, "html模板路径", {"current_user": "alex", "user_list": ["alex", "eric"]})
<html> <body> <div>{{ current_user }}</div> <ul> {% for row in user_list%} <li>{{ row }}</li> {% endfor %} </ul> </body> </html>
USER_LIST = [ {"name": "root1"}, {"name": "root2"}, {"name": "root3"}, ] def index(request): return render(request, "index.html", {"user_list": USER_LIST})
<ul> {% for item in user_list %} <li>{{ item.name }}</li> {% endfor %} </ul>
USER_DICT = { "1": {"name": "root1", "email": "root1@live.com"}, "2": {"name": "root2", "email": "root2@live.com"}, "3": {"name": "root3", "email": "root3@live.com"}, "4": {"name": "root4", "email": "root4@live.com"}, "5": {"name": "root5", "email": "root5@live.com"}, } def index(request): return render(request, "index.html", {"user_dict": USER_DICT})
<ul> {% for k in user_dict.keys %} <li>{{ k }}</li> {% endfor %} </ul> <ul> {% for val in user_dict.values %} <li>{{ val }}</li> {% endfor %} </ul> <ul> {% for k, val in user_dict.items %} <li>{{ k }}-{{ val }}</li> {% endfor %} </ul>
模板继承只能继承一个模板
父模板
{% block 模板名称 %}{% endblock %}
子模板
{% extends "父模板名称.html" %}
{% block content %}
内容
{% endblock %}
导入css、js可以在每个最下面加入
{% block css %}{% endblock %}
{% block js %}{% endblock %}
导入其他模板,可以导入多个
{% include "要导入的模板名称.html" %}
forloop.counter # for循环的序号 forloop.first # for循环第一个 forloop.last # for循环最后一个 {{ item.event_start|date:"Y-m-d H:i:s" }} {{ bio|truncatewords:"30" }} {{ my_list|first|upper }} {{ name|lower }}
from django import template from django.utils.safestring import mark_safe register = template.Library() # 自定义simple_tag @register.simple_tag def houyafan(a1, a2, a3): return mark_safe(a1 + a2 + a3) # 自定义filter @register.filter def jiajingze(a1, a2): return mark_safe(a1 + a2)
<!--顶部引入py文件名--> {% load xxoo %} <!--使用自定义simple_tag 函数名 参数1 参数2 参数3--> {% houyafan 2 5 6 %} <!--使用自定义filter 参数1|函数名:参数2--> {{ "maliya"|jiajingze:"LS" }}
simple_tag可以传任意个参数,filter只能传两个参数
simple_tag不可以在if判断中使用,filter可以在if判断中使用
{% if "maliya"|jiajingze:"LS" %}{% endif %}
simple_tag传参的时候参数与参数间可以有空格,filter传参数的时候:后面不能有空格
标签:content counter 列表 定义 -- 注册 ring 引入 values
原文地址:http://www.cnblogs.com/qiang8216/p/7238810.html