Почему это условие не работает?- если в шаблоне - PullRequest
0 голосов
/ 22 июня 2019

Я пытаюсь прописать условие, если выбран вид товара.Я пытаюсь прописать условие if в шаблоне.Но я делаю что-то не так.Помогите мне, пожалуйста.

views.py

def product_list(request, category=None, subcategory=None, kind=None):
    if category:
        categories = Category.objects.all()
        category = Category.objects.get(slug=category)
        subcategories = Subcategory.objects.filter(category=category)
        products = Product.objects.filter(category=category, available=True)
        products_quantity = len(Product.objects.filter(category=category, available=True))

        kinds = None
        if subcategory:
            subcategory = Subcategory.objects.get(slug=subcategory)
            kinds = Kind.objects.filter(kind=subcategory)
            products = Product.objects.filter(category=category, subcategory=subcategory, available=True)

            if kind:
                kind = Kind.objects.filter(slug=kind)
                products = Product.objects.filter(category=category, subcategory=subcategory, kind__in=kind, available=True)

        if products:
            paginator = Paginator(products, 8)
            page = request.GET.get('page')
            products = paginator.get_page(page)

        context = {
            'categories':categories,
            'category':category,
            'subcategories':subcategories,
            'subcategory':subcategory,
            'products':products,
            'products_quantity':products_quantity,
            'kinds':kinds
        }

        return render(request, 'shop/product/product_list.html', context)

product_list.html

# Not works
{% if kind %}
    Hello
{% endif %}

Но если япрописать такое условие.Это прекрасно работает

{% if category %}
    Hello
{% endif %}

Или попробуйте это.Но не работает то же самое

{% if category and subcategory and kind %}
    Hello
{% endif %}

Как мне установить условия для вида?Спасибо!

1 Ответ

1 голос
/ 22 июня 2019

Замените ваше выражение if

{% if kind %}
Hello
{% endif %}

на

{% if kinds %}
Hello
{% endif %}

в вашем контекстном словаре. Вы объявили значение ключа с именем types , но в if-Вы используете вид

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...