Я пытаюсь найти лучший способ отображения продуктов внутри моей домашней страницы. Я строю свой сайт с помощью песочницы, которая уже поставляется с django-oscar (я клонировал проект из Github).Добавление продуктов на домашнюю страницу django-oscar
Я обнаружил, что домашняя страница по умолчанию контролируется приложением «Акции». Однако мои продукты отображаются только внутри «http://localhost:8000/catalogue» (контролируется приложением «каталог»).
Есть ли способ отображения продуктов на моей домашней странице? Или мне придется изменить приложение по умолчанию, которое контролирует главную страницу? (в этом случае, как я могу это сделать?)
EDIT 1: Я считаю, что нашел решение. Вы можете следить за учебником How to Customize an Existing View; Однако, вам нужно внести некоторые изменения, так что ваш код должен выглядеть следующим образом:
from oscar.apps.catalogue.views import CatalogueView
class HomeView(CatalogueView):
template_name = 'promotions/home.html'
Таким образом, вы будете иметь доступ к продуктам в вашей "акциях/home.html. Я не уверен, что это лучший способ реализовать это, если у кого-то есть альтернатива этому решению, прокомментируйте.
Я попытался добавить содержимое блока на страницу; однако возникает ошибка «URL»/«не существует», кажется, что я не могу вставить содержимое блока в свой корневой URL. Вы знаете, как это решить? –
Какую версию Oscar вы используете, и можете ли вы показать мне, как вы добавляете свой url к вашим проектам 'urls.py'? (только строка, касающаяся оскара) – Claudiu
На самом деле я импортировал проект из Github, поэтому я не пользуюсь официальным релизом. Я добавляю URL-адреса Оскара, используя 'url (r '', include (application.urls))'. Я импортировал проект из Github, потому что после установки Oscar в виртуальной среде я не смог найти его папку (я бы хотел иметь доступ, чтобы внести некоторые изменения в свои файлы). –