Показать товары в определенной категории в html
У меня есть модель товаров и категорий, уже реализованная в models.py в приложении django.
В html шаблоне я хочу показать товары одной категории, которую я хочу определить в html, как category == example или что-то подобное.
class Product(models.Model):
category = models.ForeignKey(Category, related_name='products', on_delete=models.CASCADE)
vendor = models.ForeignKey(Vendor, related_name='products', on_delete=models.CASCADE)
title = models.CharField(max_length=255)
вот сниппет models.py, ниже - html сниппет, который я пытаюсь использовать
{% for product in category.products.all %}
Я уже использую этот сниппет для показа товаров на странице категории, категория будет определена с помощью url категории, но в этом случае я хочу сделать это.
Вы можете использовать фильтры в файле views.py
views.py
def yellow_products(request):
y_p = Product.objects.filter(category="yellows")
data = {'yellow_data':y_p}
return render(request,'template.html', data)
в HTML
{% if yellow_data %}
{% for product in yellow_data %}
<p>product.id</p>
{% endfor %}
{% endif %}
Другой пример
views.py
def specific_products(request):
y_p = Product.objects.filter(category="yellows")
g_p = Product.objects.filter(category="green")
data = {'yellow_data':y_p,'green_data':g_p}
return render(request,'template.html', data)
в HTML
{% if yellow_data %}
{% for product in yellow_data %}
<p>product.id</p>
{% endfor %}
{% if green_data%}
{% for product in green_data%}
<p>product.id</p>
{% endfor %}
{% endif %}
Пожалуйста, ознакомьтесь с этим учебником для получения подробной информации https://tutorial.djangogirls.org/en/django_orm/