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

如何在模板for循环中正确使用ol标签实现元素有序枚举?

如何在Django模板中用<ol>实现正确的有序列表?

你之前的问题核心是把<ol>标签放错位置了——每次循环都生成一个新的<ol>,导致每个<li>都是独立列表的第一个元素,所以编号永远从1开始。后来手动加forloop.counter又和<ol>自带的编号重复,才出现了1.1.Python这种奇怪的结果。

最直接、简洁的解决方案是把<ol>放在for循环的外面,让它包裹整个循环块,只在循环里生成<li>元素:

<ol>
{% for topic in topics %}
    <li>{{ topic }}</li>
{% endfor %}
</ol>

这样浏览器会自动为每个<li>按顺序生成编号,完全不需要手动处理计数器,输出结果就是正常的:

  1. Python
  2. Javascript
  3. SQL

如果需要自定义编号样式(比如罗马数字、大写字母),只需要用CSS调整即可,不用改模板代码:

ol {
    list-style-type: upper-roman; /* 示例:变成罗马数字编号 */
}

这种方式既符合HTML的语义规范,又比手动用<ul>加计数器简洁得多,是实现有序列表的标准做法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:48:38