Как перезагрузить класс представления в Django с другим типом модели? - PullRequest
1 голос
/ 09 апреля 2020

Я использую проектный подход для изучения django путем создания сайта электронной коммерции. Проблема, с которой я сталкиваюсь, заключается в том, что когда я загружаю свою страницу индекса, она показывает элемент по умолчанию, используя представление на основе классов. Теперь я хочу, чтобы всякий раз, когда я нажимал на категорию, представление загружалось продуктами этой категории.

Все остальные серверные части завершены, я просто хочу знать, как реализовать это в моем представлении на основе классов.

Ниже приведен фрагмент моего представления

class HomeView(ListView):
    model = Prod
    paginate_by = 6
    template_name = "index.html"

В этом case Prod загружает все строки из моей таблицы, и я хочу, чтобы при щелчке электроники на странице отображались только строки, содержащие электронику, но по умолчанию он должен показывать весь продукт, как он.

1 Ответ

0 голосов
/ 09 апреля 2020

Напишите второй ListView «Category», который принимает идентификатор категории и / или slug в качестве аргумента (через urlconf - это задокументировано) и отображает продукты для этой категории. Вы можете повторно использовать часть списка продуктов вашего текущего домашнего шаблона, извлекая его в свой собственный (фрагмент) шаблон, который вы включаете как в домашний шаблон, так и в шаблон категории.

...