You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么循环渲染的第一篇帖子会出现意外缩进?

解决循环中第一篇帖子意外缩进的问题

哈,这个问题我一眼就瞅出来啦,是你的HTML结构出了小差错,咱们来一步步修复:

问题根源

你把<ul>的闭合标签</ul>放在了{% if %}块的内部,这会导致第一次循环迭代时就直接关闭了列表容器!后续的<li>元素全都跑到<ul>外面去了,自然就出现了缩进异常的情况。另外,<style>标签放在循环里也会重复输出,完全是没必要的操作。

修正后的代码

{% extends 'base.html' %} 

{% block content %} 
<br/> 
<div class="container"> 
  <h1>Posts</h1> 
  <!-- 把样式移到循环外,只加载一次 -->
  <style>
    a { text-transform: capitalize; } 
  </style>
  <ul> 
    {% for post in object_list %} 
      {% if forloop.counter <= 15 %} 
        <li>
          <a href="{% url 'article-detail' post.pk %}">{{ post.title }}</a> 
          - {{ post.author.first_name }} {{ post.author.last_name }} <br/> 
          {{ post.body }}
        </li>
        <br/> 
      {% endif %} 
    {% endfor %} 
  </ul> <!-- 移到循环结束后,确保所有列表项都在容器内 -->
  <a href="{% url 'home' %}" class="btn btn-secondary">Back</a> 
</div>
{% endblock %}

关键修改点

  • 把</ul>移到{% endfor %}之后,让所有符合条件的<li>都乖乖待在<ul>容器里,保证列表结构的完整性
  • 将<style>标签移出循环,避免重复输出相同的样式代码,提升页面加载效率
  • 顺手调整了代码缩进,让模板结构更清晰(虽然Django模板不强制缩进,但可读性上去了,后续维护也更方便)

这么改完之后,所有帖子的列表项都会正确渲染,缩进异常的问题就彻底解决啦~

内容的提问来源于stack exchange,提问作者Kaushik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 22:57:48