Сессии в django не обновляются

Я начинающий веб-разработчик, и у меня есть проблема.

я создаю сайт электронной коммерции, следуя этому руководству на youtube. все шло хорошо, пока я не попытался получить доступ к данным сессии через ключ сессии в оболочке django. он возвращает пустой словарь, хотя он предназначен для возврата id продукта и цены. коды приведены ниже

вид

from django.shortcuts import render
from django.http import JsonResponse 

from django.shortcuts import get_object_or_404

from store.models import Product

from .cart import Cart
# Create your views here.
def cart_summary(request):
    return render(request, 'store/cart/summary.html')


def cart_add(request):
    cart = Cart(request)
    if request.POST.get('action') == 'post':
        product_id = int(request.POST.get('productid'))
        product_qty = int(request.POST.get('productqty'))
        product = get_object_or_404(Product, id=product_id)
        cart.add(product=product, qty=product_qty)
        response = JsonResponse({'test':'data'})
        return response

cart.py

class Cart():


def __init__(self,  request):
    self.session = request.session
    cart = self.session.get('skey')
    if 'skey' not in request.session:
        cart = self.session['skey']= {}
    self.cart = cart


def add(self, product, qty):
    product_id = product.id

    if product_id not in self.cart:
        self.cart[product_id]= {'price': str(product.price), 'qty':int(qty)}


    self.session.modified = True

сценарий

<script>
    $(document).on('click', '#add-button', function(e){
        e.preventDefault();
        console.log($('#select option:selected').text())
        $.ajax({
            type:'POST',
            url:'{% url "cart:cart_add" %}',
            data:{
                productid: $('#add-button').val(),
                csrfmiddlewaretoken:"{% csrf_token %}",
                action: 'post'
            },
            success: function (json){

            },
            error: function (xhr, errmsg, err){}
        })
    })
    
  
</script>
Вернуться на верх