django-模板基本操作

警告
本文最后更新于 2020-10-14 09:59,文中内容可能已过时。

1.变量

1
2
3
4
5
6
7
8
9
普通变量: x = 'ok'
{{ x }}

字典:d1 = {"name": "zs"}
{{ d1.name }}


列表: l1 = [0,1,2,3,4]
{{ l1.0 }}

2.if判断

1
2
3
4
5
6
7
8
<!-- 也可以if in xxx-->
{% if score < 60 %}
    <p>成绩不及格</p>
{% elif score == 60 %}
    <p>刚刚及格</p>
{% else %}
    <p>成绩及格</p>
{% endif %}

3.for循环

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<ul>
    {% for i in l1 %}
        <li>{{ i }}</li>
    {% endfor %}
</ul>

<!-- 反向遍历 -->
<ul>
    {% for i in l1 reversed %}  
        <li>{{ i }}</li>
    {% endfor %}
</ul>

<!-- empty -->
<ul>
    {% for i in l1 %}  
        <li>{{ i }}</li>
    {% empty %}
        <li>l1没有内容</li>
    {% endfor %}
</ul>

{{ forloop.counter }}:当前循环的计数,从1开始 {{ forloop.counter0 }}:当前循环的计数,从0开始 {{ forloop.revcounter }}:倒序的循环计数,到1结束 {{ forloop.revcounter0 }}:倒序的循环计数,到0结束 {{ forloop.first }}: 布尔值,是否为第一次循环 {{ forloop.last }}: 布尔值,是否为最后一次循环 {{ forloop.parentloop }}: 上一级循环

4.url标签

https://soulchild.cn/2013.html

其他内置标签:https://docs.djangoproject.com/zh-hans/2.2/ref/templates/builtins/#built-in-tag-reference

5.过滤器

过滤器理解为函数,方便使用的小功能 所有内置过滤器:https://docs.djangoproject.com/zh-hans/2.2/ref/templates/builtins/#built-in-filter-reference

自定义过滤器: https://soulchild.cn/2049.html

5.1 add 相加

1
2
3
4
{{ 1|add:1 }}    <!-- 2 -->
{{ l1|add:l2 }}  <!-- 两个列表合并 -->
{{ 1|add:"a" }}  <!-- 不能加 -->
{{ 1|add:"1" }}  <!-- 2 -->

5.2 cut 替换

1
2
<!-- 替换所有的内容 -->
{{ "abc1a2bc3d"|cut:'a' }}  <!-- bc12bc3d -->

5.3 date时间格式化

https://docs.djangoproject.com/zh-hans/2.2/ref/templates/builtins/#date

1
2
3
4
5
# 返回给模板时间对象
return render(request, 'index.html', {'today': datetime.now()})

{{ today|date }}  <!-- 2020年10月10日 -->
{{ today|date:'Y-m-d H:i:s' }}   <!-- 2020-10-10 11:10:23 -->
请我喝杯水
SoulChild 微信号 微信号
SoulChild 微信打赏 微信打赏
0%