Как сохранить информацию о корзине пользователя без использования моделей или аутентификации в Django? - PullRequest
1 голос
/ 27 февраля 2020

Я делаю веб-сайт электронной коммерции, я использую это представление, чтобы позволить пользователю добавлять товары в корзину:

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 на текущий проект.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...