def view( self, request, shop_name ): Location( request.session, 'shop' ).set( get_shop_location( shop_name, 'cart', request.GET ) ) req = request.REQUEST cart = Cart( request.session ) if request.method == 'POST': cart.remove_item( req[ 'product_id' ] ) page = int( req[ 'page' ] ) if 'page' in req else 1 delivery_cost = get_shop_by_name( request.session, shop_name ).delivery_cost page_products = ItemPage.get_by_items_list( items_list = cart.get(), page = page ) return super( CartView, self ).view( request, shop_name, { 'page_products': page_products, 'is_cart_empty': len( page_products[ 'object_list' ] ) == 0, 'page': int( page ), 'num_products_on_page': NUM_ITEMS_ON_PAGE, 'sum': cart.get_sum_price() + delivery_cost } )