Возможно ли сделать "корзину" с помощью django Class Based View?

Я пытаюсь сделать простой сайт электронной коммерции и следую некоторым учебникам.

Однако автор книги использовал сложное представление на основе функций, чтобы сделать функцию корзины...

здесь куча сессионных вещей... и я не понимаю логики...

и я пытаюсь думать в другую сторону...

как насчет использования базы данных для хранения всех данных, связанных с корзиной, и

использовать CBV для его создания?

например,

CartListView для просмотра содержимого корзины, и CartUpdateView для изменения количества..

тогда это будут две разные страницы? отдельная страница, на которую пользователь должен перейти

разная страница для изменения значения?

помогите мне T T

Вы можете получить доступ к сессии в любом виде CBV как self.request.session, и "корзина" обычно хранится в ней.

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

Добавление товаров в корзину вполне может быть кнопкой "Добавить" в ProductDetailView или множеством кнопок добавления в ProductListView. Вы можете добавить метод обработки POST к этим представлениям, которые по умолчанию предназначены только для чтения (GET-only). Или вы можете сделать их FormViews, даже если форма будет скрыта и заполнена/поставлена JS, а не покупатель будет делать что-либо, кроме нажатия кнопки "Добавить".

И тогда появится CheckoutView.

Проверьте https://djangopackages.org/ (введите "cart" в поле поиска). Это подкинет несколько вещей, связанных с корзинами, которые могут быть кодом, который вам нужен, или источник которого может быть ценным учебным ресурсом, прежде чем вы закончите создание своего собственного.

Вернуться на верх