在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/