Я делаю веб-сайт электронной коммерции, я использую это представление, чтобы позволить пользователю добавлять товары в корзину:
def add_to_cart(request, slug):
if request.method == 'POST':
item = get_object_or_404(Item, slug=slug)
order_item = OrderedItems.objects.create(item=item, user=request.user, ordered=False)
order_qs = Order.objects.filter(user=request.user, ordered=False)
if order_qs.exists():
order = order_qs[0]
order_item.quantity = request.POST.get('number')
order_item.save()
order.items.add(order_item)
return redirect('core:home')
order = Order.objects.create(user=request.user, ordered=False)
order.items.add(order_item)
order_item.quantity = request.POST.get('number')
order_item.save()
return redirect('core:product_detail', slug=slug)
Модели и все остальное на этом веб-сайте в значительной степени зависит от аутентификации пользователя. Я отслеживаю, какой пользователь заказал какие товары через Order
модель:
class OrderedItems(models.Model):
item = models.ForeignKey(
Item, on_delete=models.CASCADE, related_name='ordereditems')
quantity = models.IntegerField(default=1)
user = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE)
ordered = models.BooleanField(default=False)
Итак, как мне сохранить информацию о корзине пользователя без использования моделей или аутентификации с использованием файлов cookie или сеансов? Пожалуйста, объясните это кодом.
Ссылка Github на текущий проект.
Спасибо