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())