25
атрибутов, но может просматривать товар, выполнить регистрацию, либо
авторизоваться на сайте.
Просмотр товара связан со следующим блоком Products. Данный блок
содержит следующие атрибуты: заголовок (название товара), изготовитель
(брэнд), категорию, описание, изображение, наличие продукта на складе
(available). И имеет единственный метод, возвращающий ссылку на данный
продукт.
Блок Admin. В нашем случае админом выступает superuser
зарегистрированный при создании базы данных[26]. Из атрибутов имеет имя.
Имеет методы: просмотр продукта, добавление продукта, удаление продукта
или изменение данных о продукте.
Блок Customer отвечает за атрибуты и методы авторизованного
пользователя. Из атрибутов имеет логин, имя, фамилию, адрес электронной
почты. Методы: просмотр товара, добавление товара в корзину, оформление
заказа, выход из учетной записи.
Ну и сама корзина Cart. Из атрибутов содержит наименование товаров
и общую сумму товаров. Из методов: удаление товара из корзины и
изменение количества товаров.
С атрибутами вопросов не возникает, так как это лишь данные, а вот
методы рассмотрим подробнее.
Начнём с метода просмотра товаров.
def product_view(request, product_slug):
try:
cart_id = request.session['cart_id']
cart = Cart.objects.get(id=cart_id)
request.session['total'] = cart.item.count()
except:
cart = Cart()
cart.save()
cart_id = cart.id
request.session['cart_id'] = cart_id
cart = Cart.objects.get(id=cart_id)
product = Products.objects.get(slug=product_slug)
categories = Category.objects.all()
context = {
'product':product,