Django Как увидеть данные сессии вместо ссылки на объект

Я пытаюсь начать использовать сессию в django, Я пытаюсь увидеть данные в моей сессии, но я получаю только ссылку на объект, а не данные

console:

<cart.cart.Cart object at 0x7f6994753160>

views.py

def cart_view(request):
    cart = Cart(request)
    print(cart)
    if request.user.is_authenticated:
        return render(request, 'cart/cart_page.html')
    else:
        return redirect('account:login')

cart.py

class Cart:
    def __init__(self, request):

        self.session = request.session
        cart = self.session.get('cart')
        if not cart :
            cart = self.session['cart'] = {}  #cria a sessão cart
        self.product = cart
      

вы можете переопределить метод __str__ на любом классе, чтобы контролировать, как он преобразуется в строку... вы также можете переопределить метод __repr__, если вам это нужно

class Cart:
    def __init__(self, request):

        self.session = request.session
        cart = self.session.get('cart')
        if not cart :
            cart = self.session['cart'] = {}  #cria a sessão cart
        self.product = cart

   def __str__(self):
       return f"<CartObject {self.product}>"

...
print(cart)

Вы можете определить новый метод для возврата вашего self.product

Например

def get_product(self):
    return self.product

или вы можете просто переопределить функцию str:

def __str__(self):
    return f"{self.product}"

print(request.session.items())

Вернуться на верх