Django模板标签{% for %}循环,获取制定条数据

有时候,为了获取查询结果的部分数据,需要对变量进行一些处理,在网上查了一圈,只发现了这两个方法:

  1. 返回查询结果的切片
    在返回给前端的结果中,通过切片来取得想要的数据:
pictures = Post.objects.filter(status='published')[:8]

如[:8],但这种操作比较片面,会将返回结果限制住,有时候不利于其他的操作使用

2.使用{% if %}标签和forloop.counter变量来获取:

 <h3>最新博文</h3>
          {% for picture in pictures %}
            {% if forloop.counter > 2 %}
                {% if forloop.counter < 4 %}
            <div class="pop-post"><a href="{{ picture.get_absolute_url }}"><img src="{{ picture.image.url }}" width="100" height="80" alt="ins-picture"/></a>
              <div class="info">
                <h4><a href="{{ picture.get_absolute_url }}">{{ picture.post_updated }}</a></h4>
                <h3><a href="{{ picture.get_absolute_url }}">{{ picture.title }}</a></h3>
              </div>
            </div>
                {% endif %}
            {% endif %}
          {% empty %}
          <p>暂无文章!</p>
          {% endfor %}

通过对forloop.counter的判断,来确定需要用在前端上的数据,forloop.counter用来统计for循环的次数,从1开始技术,也有forloop.counter0,是从0开始计数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值