Django在方法之间传递参数

时间:2019-05-24 18:07:53

标签: django django-views

问题是我有一个购物篮,已保存在会话中,并且在成功创建订单后,此会话/购物篮已完全清除。而且,购物篮有一种返回商品数量的方法,在清空购物篮后返回0,这很合逻辑,但是我需要将数量保存到变量中,然后将此变量传递给第二种方法,它接受客户的订单ID,而不更改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')

将订单ID传递给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中的总和值释放给大家的情况下,将值传递给方法。我请求您的帮助!

0 个答案:

没有答案