假如我们想用逗号将这些元素连接起来:
home.html
{% for item in List %}
{{ item }},
{% endfor %}
只要在变量外加“ , ”
效果如下:
我们会发现最后一个元素后面也有一个逗号,这样肯定不爽,如果判断是不是遍历到了最后一个元素了呢?用变量 forloop.last
这个变量,如果是最后一项其为真,否则为假,更改如下:
{% for item in List %}
{{ item }}
{% if not forloop.last %},{% endif %}
{% endfor %}
在for循环中还有很多有用的东西,如下:
变量 描述
forloop.counter 索引从 1 开始算
forloop.counter0 索引从 0 开始算
forloop.revcounter 索引从最大长度到 1
forloop.revcounter0 索引从最大长度到 0
forloop.first 当遍历的元素为第一项时为真
forloop.last 当遍历的元素为最后一项时为真
forloop.parentloop 用在嵌套的 for 循环中,获取上一层 for 循环的 forloop
当列表中可能为空值时用 for empty
获取当前用户:
{{ request.user }}
如果登陆就显示内容,不登陆就不显示内容:
{%ifrequest.user.is_authenticated %}
{{ request.user.username }},您好!
{%else%}
请登陆,这里放登陆链接
{%endif %}
获取当前网址:
{{ request.path }}
获取当前 GET 参数:
{{ request.GET.urlencode }}
合并到一起用的一个例子:
当前网址加参数 delete
比如我们可以判断 delete 参数是不是 1 来删除当前的页面内容。