在request中有很多有用的东西,如下:

获取当前用户:

1
{{ request.user }}

如果登陆就显示内容,不登陆就不显示内容:

1
2
3
4
5
{% if request.user.is_authenticated %}
    {{ request.user.username }},您好!
{% else %}
    请登陆,这里放登陆链接
{% endif %}

 获取当前网址:

1
{{ request.path }}

 获取当前 GET 参数:

1
{{ request.GET.urlencode }}

 合并到一起用的一个例子:

1
<a href="{{ request.path }}?{{ request.GET.urlencode }}&delete=1">当前网址加参数 delete</a>

 

在for循环中有很多有用的东西,如下:

变量描述
forloop.counter 索引从 1 开始算
forloop.counter0 索引从 0 开始算
forloop.revcounter 索引从最大长度到 1
forloop.revcounter0 索引从最大长度到 0
forloop.first 当遍历的元素为第一项时为真
forloop.last 当遍历的元素为最后一项时为真
forloop.parentloop

用在嵌套的 for 循环中,

获取上一层 for 循环的 forloop

当列表中可能为空值时用 for  empty

1
2
3
4
5
6
7
<ul>
{% for athlete in athlete_list %}
    <li>{{ athlete.name }}</li>
{% empty %}
    <li>抱歉,列表为空</li>
{% endfor %}
</ul>

 

其他的:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/