def make_order_view(request): try: cart_id = request.session[ 'cart_id'] # Получение значения сессии при помощи ключа(то есть, 'cart_id'). cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id # Передача значения в сессию cart = Cart.objects.get(id=cart_id) form = OrderForm(request.POST or None) if form.is_valid(): name = form.cleaned_data['name'] last_name = form.cleaned_data['last_name'] phone = form.cleaned_data['phone'] buying_type = form.cleaned_data['buying_type'] address = form.cleaned_data['address'] comments = form.cleaned_data['comments'] new_order = Order() new_order.user = request.user new_order.save() new_order.items.add(cart) new_order.first_name = name new_order.last_name = last_name new_order.phone = phone new_order.address = address new_order.buying_type = buying_type new_order.comments = comments new_order.total = cart.cart_total new_order.save() del request.session['cart_id'] del request.session['total'] return HttpResponseRedirect(reverse('thank_you'))
def order_create_view(request): context = {} form = OrderForm(request.POST or None) context['form'] = OrderForm(request.POST or None) cart = cart_session(request) context['cart'] = cart if form.is_valid(): new_order = Order() new_order.user = request.user new_order.cart = cart new_order.first_name = form.cleaned_data['first_name'] new_order.last_name = form.cleaned_data['last_name'] new_order.second_name = form.cleaned_data['second_name'] new_order.phone = form.cleaned_data['phone'] new_order.buying_type = form.cleaned_data['buying_type'] new_order.address = form.cleaned_data['address'] new_order.comment = form.cleaned_data['comment'] new_order.total = cart.cart_total new_order.save() del request.session['cart_id'] return HttpResponseRedirect(reverse('congratulations')) return render(request, 'app/order.html', context)