Я хотел бы отобразить объект списка с прогрессивным номером следующим образом:
- Элемент списка 1 # (с id = 10)
- Элемент списка 2 # (с идентификатором = 2)
- Элемент списка 3 # (с id = 3)
- и так далее ...
Я не хочу использовать идентификатор / 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 %}
Мой вопрос: следует ли мне добавлять код в файл views.py или непосредственно в файл html (для цикла)?
Я не опытный программист, но я чувствую, что все должно быть прямо. Также было бы очень полезно применять в общем для всех отображаемых элементов списка.
Я подумал, что должен быть какой-то «метод» для «например, в obj_list», где вы могли бы распечатать прямо на html относительный номер экземпляра или, возможно, добавление внутреннего цикла for для выполнения работы. Я изо всех сил пытаюсь найти что-нибудь полезное при поиске в Google.
большое спасибо за помощь.
PS: Это мой первый пост о stackoverflow, надеюсь, я все сделал правильно :)
Карло