Задать вопрос
@bensoitsphere

Почему не отображаются товары в категориях?

Всем привет. Возникла проблема с отображением товаров, отсортированных по категориям, в разделе сайта "Товары по категориям". Отображение товаров по категориям прописано в разделе "list.html ". Для этих товаров созданы просмотры, но сами карточки товаров не отображаются. Вот в чем проблема.
Наверное, я где-то допустил ошибку в циклах, и теперь эти карточки товаров просто не отображаются. Я сделал обзор, но ничего не нашел.. Прошу вас помочь мне с этой проблемой, буду благодарен.

PS.
Код на гитхабе: https://github.com/fdavis10/django-site

677bcd94ca3c6726285378.png
677bcd9bc6cdf940404616.png

Код:

list.html

{% extends "main/base.html" %}
{% load static %}
{% block title  %}Магазин{% endblock title  %}

{% block content %}
<div class="list d-flex">
    <div class="sidebar">
        <h3>Категории</h3>
        <ul>
            <li {% if not category %}class="seleceted"{% endif %}>
                <a href="{% url "main:product_list" %}">ВСЕ</a>
            </li>
            {% for c in  categories %}
                <li {% if category.slug == c.slug %}class="seleceted"{% endif %}>
                    <a href="{{c.get_absolute_url}}">{{c.name}}</a>
                </li>
            {% endfor %}
        </ul>
    </div>    
    <div class="main">
        <div class="main-title">
            {% if category %}{{category.name}}{% else %}ТОВАРЫ{% endif %}
        </div>
        <div class="product-list">
            <div class="items">
                {% for product in products %}
                    <div class="item">
                        <a href="{{product.get_absolute_url}}" class ="home-card d-flex flex-column align-items-center text-center">
                            <img src="{% if product.image %}{{product.image.url}}{% else %}{% static 'img/noimage.png' %}{% endif %}" class='card-img' alt="">
                            <h5 class='title-card'>{{product.name}}</h5>
                            {% if product.discount %}
                                <div class="card-discount d-flex gap-2">
                                    <p class="line">{{product.price}}</p>
                                    <p>{{product.sell_price}}</p>
                                </div>
                            {% else %}
                                <p class="price">{{product.price}}</p>
                            {% endif %}
                        </a>
                    </div>
                {% endfor %}
            </div>
        </div>
    </div>
</div>
{% endblock content %}


views.py

def product_list(request, category_slug = None):
    category = None
    categories = Category.objects.all()
    products = Products.objects.filter(available=True)
    if category_slug:
        category = get_object_or_404(Category, slug = category_slug)
        products = products.filter(category=category)
    return render(request, 
                  'main/product/list.html',
                  {'category': category,
                   'categories': categories,
                   'producsts': products})


urls.py

urlpatterns = [
    path('', views.popular_list, name='popular_list'),
    path('shop/', views.product_list, name = 'product_list'),
    path('shop/category/<slug:category_slug>/', views.product_list, name = 'product_list_by_category'),
    path('shop/<slug:slug>/', views.product_detail, name='product_detail'),
]
  • Вопрос задан
  • 65 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@bensoitsphere Автор вопроса
def product_list(request, category_slug = None):
    category = None
    categories = Category.objects.all()
    products = Products.objects.filter(available=True)
    if category_slug:
        category = get_object_or_404(Category, slug = category_slug)
        products = products.filter(category=category)
    return render(request, 
                  'main/product/list.html',
                  {'category': category,
                   'categories': categories,
                   'producsts': products})
__________________________↑__________________________________


Ошибка была там, где я даже не предполагал
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы