django python-如何列出列表的递增数值

django python-如何列出列表的递增数值,python,html,python-3.x,django,listview,Python,Html,Python 3.x,Django,Listview,我想呈现一个具有递增编号的列表obj,如下所示: 列表项1(id=10) 列表项2#(id=2) 列表项3(id=3) 等等 我不想使用id/pk,因为我是按字母顺序排列对象的 我正在使用基于类的视图: class EquipmentType_ListView(ListView): model = EquipmentType template_name = 'equipment/equipment_type.html' context_

我想呈现一个具有递增编号的列表obj,如下所示:

  • 列表项1(id=10)
  • 列表项2#(id=2)
  • 列表项3(id=3)
  • 等等
  • 我不想使用id/pk,因为我是按字母顺序排列对象的

    我正在使用基于类的视图:

    class EquipmentType_ListView(ListView):
       model               = EquipmentType
       template_name       = 'equipment/equipment_type.html' 
       context_object_name = 'obj_list' #default = object_list
       ordering            = ['type'] 
    
    使用非常简单的模型:

    class EquipmentType(models.Model):
       type        = models.CharField(max_length=100, unique=True)
       date_posted = models.DateTimeField(auto_now_add=True)
    
    以及相应的html:

    {% extends 'equipment/base.html'%}
    {% block content%}
    {% for instance in obj_list %}
     <article class="media content-section">
      <div class="media-body">
        <div class="article-metadata">
          <a class="mr-2" href="#">{{ instance.type }}</a>
            <small class="text-muted">{{ instance.date_posted}}</small>
        </div>
      </div>
    </article>
    {% endfor %}
    
    {%extends'device/base.html%}
    {%block content%}
    {例如在obj_列表%}
    {{instance.date_posted}
    {%endfor%}
    
    我的问题是,我应该将代码添加到views.py还是直接添加到html文件(对于cycle)

    我不是一个有经验的程序员,但我觉得应该是直截了当的。另外,一般地应用于所有呈现出来的列表元素也是非常有用的

    我在想,“例如在obj_列表中”应该有一些“方法”,可以直接在html上打印实例的相对编号,或者添加一个内部for循环来完成工作。我正努力在谷歌搜索中找到任何有用的东西

    非常感谢你的帮助

    PS:这是我关于stackoverflow的第一篇文章,我希望我做的一切都是正确的:)


    Carlo

    Django以本机方式对此提供支持:
    {{{forloop.counter}

    {% extends 'equipment/base.html'%}
    {% block content%}
    {% for instance in obj_list %}
     <article class="media content-section">
      <div class="media-body">
        <div class="article-metadata">
          <a class="mr-2" href="#">{{ forloop.counter }}. {{ instance.type }}</a>
            <small class="text-muted">{{ instance.date_posted}}</small>
        </div>
      </div>
    </article>
    {% endfor %}
    
    {%extends'device/base.html%}
    {%block content%}
    {例如在obj_列表%}
    {{instance.date_posted}
    {%endfor%}
    
    非常感谢你,阿尤斯,我知道那里已经有东西了。