python编程:Django常用的模板语言标签
【摘要】 1、模板继承
{% extends "base.html" %}
1
2、判断
{% firstof var1 var2 var3 %}
1
等价于
{% if var1 %} {{ var1 }}
{% elif var2 %} {{ var2 }}
{% elif var3 %} {{ var3 }}
{% endif %}
12345678
3、循环...
1、模板继承
{% extends "base.html" %}
- 1
2、判断
{% firstof var1 var2 var3 %}
- 1
等价于
{% if var1 %} {{ var1 }}
{% elif var2 %} {{ var2 }}
{% elif var3 %} {{ var3 }}
{% endif %}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
3、循环
<ul>
{% for athlete in athlete_list %} <li>{{ athlete.name }}</li>
{% endfor %}
</ul>
- 1
- 2
- 3
- 4
- 5
4、翻转列表
{% for obj in list reversed %}.
- 1
5、元素是元组的列表循环
{% for x, y in points %} There is a point at {{ x }},{{ y }}
{% endfor %}
- 1
- 2
- 3
6、字典循环
{% for key, value in data.items %} {{ key }}: {{ value }}
{% endfor %}
- 1
- 2
- 3
7、循环参数
变量 | 说明 |
---|---|
forloop.counter | 顺序迭代序号 (1-开始) |
forloop.counter0 | 顺序迭代序号 (0-开始) |
forloop.revcounter | 逆序迭代序号 (1-开始) |
forloop.revcounter0 | 逆序迭代序号 (0-开始) |
forloop.first | 循环第一次经过 |
forloop.last | 循环最后一次经过 |
forloop.parentloop | 嵌套循环,父循环 |
8、空序列判断
for … empty
<ul>
{% for athlete in athlete_list %} <li>{{ athlete.name }}</li>
{% empty %} <li>Sorry, no athletes in this list.</li>
{% endfor %}
</ul>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
等价于
<ul>
{% if athlete_list %} {% for athlete in athlete_list %} <li>{{ athlete.name }}</li> {% endfor %}
{% else %} <li>Sorry, no athletes in this list.</li>
{% endif %}
</ul>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
9、条件判断
if
{% if athlete_list %} Number of athletes: {{ athlete_list|length }}
{% elif athlete_in_locker_room_list %} Athletes should be out of the locker room soon!
{% else %} No athletes.
{% endif %}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
10、布尔操作
and, or or not
{% if athlete_list and coach_list or cheerleader_list %}
- 1
11、条件判断
==, !=, <, >, <=, >=, in, not in, is, and is not
{% if somevar == "x" %}
This appears if variable somevar equals the string "x"
{% endif %}
- 1
- 2
- 3
- 4
12、模板包含
{% include "foo/bar.html" %}
- 1
13、时间
It is {% now "jS F Y H:i" %}
{{ value|date:"D d M Y" }} # 日期格式化
{{ value|time:"H:i" }} # 时间格式化
datetime |date:"Y-m-d H:i:s" # 年-月-日 时:分:秒
- 1
- 2
- 3
- 4
- 5
- 6
14、模板标签
Argument | Outputs |
---|---|
openblock | {% |
closeblock | %} |
openvariable | {{ |
closevariable | }} |
openbrace | { |
closebrace | } |
opencomment | {# |
closecomment | #} |
15、函数
{{ value|add:"2" }} # 加法
{{ value|capfirst }} # 首字母大写
{{ value|title }} # 句子单词首字母大写
{{ value|center:"15" }} # 文字居中,剩余填充
{{ value|ljust:"10" }} # 文字左对齐,剩余填充
{{ value|rjust:"10" }} # 文字右对齐,剩余填充
{{ value|cut:" " }} # 移除空白
{{ value|default:"nothing" }} # 空值默认
{{ value|default_if_none:"nothing" }} # None值默认
{{ value|dictsort:"name" }} # 字典排序
{{ value|filesizeformat }} # 文件大小格式化
{{ value|first }} # 序列的第一个值
{{ value|last }} # 序列最后一个值
{{ value|floatformat:3 }} # 浮点值精度
{{ value|join:" // " }} # 序列拼接
{{ value|make_list }} # 字符串转列表
{{ value|length }} # 序列长度
{{ value|length_is:"4" }} # 长度判断
{{ value|lower }} # 字符串转小写
{{ value|upper }} # 字符串转小写
{{ value|random }} # 序列中随机取值
{{ some_list|slice:":2" }} # 切片
{{ value|striptags }} # 去除标签
{{ value|truncatechars:9 }} # 控制输出字符长度,超出省略号
{{ value|truncatewords:2 }} # 控制输出单词长度,超出省略号
{{ value|wordcount }} # 统计字数
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
参考:
Built-in template tags and filters
时间格式化参考:
https://docs.djangoproject.com/zh-hans/2.0/ref/templates/builtins/#date
文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。
原文链接:pengshiyu.blog.csdn.net/article/details/80923844
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)