Рекомендуемые товары на домашней странице проекта мезонина

Я работаю над реализацией интернет-магазина с использованием картриджа и мезонина. Я хотел бы включить раздел "Рекомендуемые товары", используя категорию из магазина картриджей (product_category). Я создал тестовую категорию, заполнил ее записями и пытаюсь просмотреть ее с домашней страницы, но она ничего не возвращает. Что я должен делать вместо этого?

index.html

{% with category as "featured" %}
{% for product in products.object_list %}

(просто используя html для отображения товаров категории.html)

views.py

def index(request):
    products = Product.objects.all()
    context = {'products': products}
    return render(request, 'index.html', context)

1 ответ

Ваш код в index.html:

{% с категорией в качестве "избранного" %}

значит лечить переменную category как строковые литералы (вы уверены, что это то, что вы хотите?), поэтому вы не сможете использовать переменную featured после этого заявления.

Значения, заключенные в одинарные кавычки (') или двойные кавычки ("), обрабатываются как строковые литералы, а значения без кавычек - как переменные шаблона. (Django docs)

Далее, согласно вашему коду, у вас есть products переменная (а это QuerySet) в вашем контексте, поэтому значение products.object_list ничего не даст, так как объект QuerySet не имеет object_list приписывать. Может быть, то, что вы хотите в этой строке

{% for product in products %}

Вы можете опубликовать больше кода, чтобы прояснить ситуацию.

Другие вопросы по тегам