Как зациклить объекты в html
Я хочу перебирать категории в моем html. Я делаю фильтр, который будет показывать все категории, но я не могу заставить мои {% for %} работать Мне нужна помощь Вот мой код. Спрашивайте, если есть еще какая-либо информация, необходимая для решения этой проблемы.
HTML:
<div class="filter-box">
<h1>Filter</h1><hr>
{% for category in categorys%}
<p class="checkbox-text">Hello</p>
<h1>AAAAAAAAAAAAAAA</h1>
{% endfor %}
</div>
Просмотров:
def category_all(request):
categorys = Category.objects.all()
return render(request, "product/dashboard_test.html", {"names": categorys})
Модели:
class Category(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
name = models.CharField(max_length=255, blank=True, null=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
Похоже, что вы передаете в шаблон переменную "names", а затем в шаблоне пытаетесь вызвать ее "categorys"
.
Измените эту строку:
return render(request, "product/dashboard_test.html", {"names": categorys})
на это:
return render(request, "product/dashboard_test.html", {"categorys": categorys})
Также categorys пишется как категории, но это не влияет на ваш код
Попробуйте следующий код, он должен сработать для вас.
Код:
Код Python:
def category_all(request):
categories = Category.objects.all()
context = {
'categories': categories
}
return render(request, "product/dashboard_test.html", context=context)
HTML код:
<div class="filter-box">
<h1>Filter</h1><hr>
{% for category in categories%}
<p class="checkbox-text">Hello</p>
<h1>AAAAAAAAAAAAAAA</h1>
{% endfor %}
</div>
Пояснения:
{"names": categorys}
эта реализация не является правильной.