Я использую django 4.0.2 и у меня такая ошибка
я новичок в django и не могу найти ошибку для решения, она появляется на объекте 'user'.
Есть предложения, как заставить это работать? Похоже, что в прошлом это было бы ответом
class Checkout(LoginRequiredMixin, View):
def post (self, request):
addres = request.POST.get('addres')
comment = request.POST.get('comment')
cart = request.session.get('cart')
user= request.session.get('user')
product = Product.get_product_by_id(cart)
print(addres, comment, User, cart, product )
for product in product:
print(cart.get(str(product.id)))
order = Order(user=User(id=user),
product=product,
price=product.price,
addres=addres,
comment=comment,
quantity=cart.get(str(product.id)))
order.save()
request.session['cart'] = {}
return redirect ('cart:cart_detail')
я смотрел учебник и сделал это, но я не могу решить ошибку, которая появляетсявведите описание изображения здесь, я не могу найти решение пока
class Cart(object):
def __init__(self, request):
self.session = request.session
cart = self.session.get(settings.CART_SESSION_ID)
if not cart:
cart = self.session[settings.CART_SESSION_ID] = {}
self.cart = cart
def add(self, product):
if str(product.id) not in self.cart.keys():
self.cart[product.id]={
"product_id": product.id,
"title":product.title,
"quantity": 1,
"image":product.image.url,
"thumbnail":product.thumbnail.url,
"price": str(product.price)
}
else:
for key, value in self.cart.items():
if key== str(product.id):
value["quantity"] = value["quantity"]+ 1
break
self.save()
def save(self):
self.session["cart"] = self.cart
self.session.modified = True
def remove(self, product):
product_id = str(product.id)
if product_id in self.cart:
del self.cart[product_id]
self.save()
def decrement(self, product):
for key, value in self.cart.items():
if key == str(product.id):
value["quantity"] = value["quantity"]- 1
if value["quantity"] < 1:
self.remove(product)
else:
self.save()
break
else:
print("the item does not exist in the cart")
def clear(self):
self.session["cart"] = {}
self.session.modified = True