Проблема в том, что у меня есть корзина, которая сохраняется в сессии, и после успешно созданного заказа эта сессия / корзина полностью очищается. И у корзины есть метод, который возвращает количество товаров, и после очистки корзины товаров он возвращает 0
, что логично, но мне нужно сохранить сумму в переменной и передать эту переменную во второй метод, который принимает идентификатор заказа клиента, без изменения URL, то есть я хочу, чтобы в URL был только идентификатор, а не идентификатор + сумма. Мне нужно передать аргумент от одного метода к другому. Теперь я покажу, что я имею в виду.
views.py
def order_create(request):
cart = Cart(request) # session
sum = cart.get_total_price() # the value of the sum is saved to the variable
if request.method == 'POST':
form = OrderCreateForm(request.POST)
if form.is_valid():
# data storage
cart.clear_session() # clear the session after a successful order
return redirect(reverse('order:order_success', kwargs={'pk':order.id})) # how to pass here also the `sum` variable
else:
return HttpResponse('y')
Передать идентификатор заказа методу order_success
def order_success(request, pk, sum):
print(sum)
# data processing and data page return
urls.py
url(r'^order/(?P<pk>[0-9A-Fa-f-]+)$', views.order_success, name='order_success'),
Как вы можете передать значение в метод, не выпуская значение суммы в URL для каждого созерцания. Я прошу у вас помощи!