Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from decimal import Decimal
- from django.conf import settings
- from shop.models import Product
- class Cart(object):
- def __init__(self, request):
- """Инициализация объекта корзины."""
- self.session = request.session <-- тут мы определяем локальную переменную сессии которая действительна только для объекта??
- cart = self.session.get(settings.CART_SESSION_ID)
- if not cart:
- # Сохраняем в сессии пустую корзину.
- cart = self.session[settings.CART_SESSION_ID] = {}
- self.cart = cart
- def save(self):
- # Помечаем сессию как измененную
- self.session.modified = True <-- тут мы помечаем ЛОКАЛЬНУЮ сессию как измененную
- НО ПОЧЕМУ ТОГДА ИЗМЕНЯЕТСЯ И REQUEST.SESSION ЕСЛИ МЫ ЕГО НАПРЯМУЮ НЕ ТРОГАЕМ НИГДЕ???
- НАПРИМЕР ТУТ?
- @require_POST
- def cart_add(request, product_id):
- cart = Cart(request)
- product = get_object_or_404(Product, id=product_id)
- form = CartAddProductForm(request.POST)
- if form.is_valid():
- cd = form.cleaned_data
- cart.add(product=product,
- quantity=cd['quantity'],
- update_quantity=cd['update'])
- return redirect('cart:cart_detail')
Add Comment
Please, Sign In to add comment