Как отобразить все категории в шаблоне в django
Я пытался получить все категории на шаблоне, но они повторяются, потому что в базе данных есть несколько строк. вот что сейчас отображается
Возможно, distinct
из Django ORM может помочь:
your_category_queryset = your_category_queryset.distinct()
or, в шаблоне:
{% for category in your_category_queryset.distinct %}
{{ category }}
{% endfor %}
Больше здесь: https://docs.djangoproject.com/en/4.0/ref/models/querysets/#distinct
На самом деле, я не могу увидеть ваши коды. Поэтому вот пример для решения вашей проблемы.
модель:
class Category (models.Model):
name = models.CharField(max_length=200)
slug = models.SlugField(max_length=255, unique=True)
def __str__(self):
return self.name
view:
def category(request):
categories = Category.objects.all()
context = {'categories': categories}
return render (request, 'index.html', context)
index.html:
<h3>Catagory:</h3>
<ul>
{% for category in categories %}
<li>
{{category.name}}
</a>
</li>
{% endfor %}
</ul>