繁体   English   中英

如何使用一个函数变量转换为另一个函数?

[英]how to use one function variable into another function?

我在Django模板中有两个功能

def cart(request, template="shop/cart.html"):
 cart_formset = CartItemFormSet(instance=request.cart)

def checkout_steps(request):

如何在checkout_steps函数中使用cart_formset变量

你不能 这就是局部变量是:他们是本地的他们所在的函数的变量。 cart_formset并不时除外存在cart正在执行。

您可以从函数返回cart_formset ,然后从checkout_steps调用cart以获取值。 或者,您可以将该变量存储在其他位置。 我对Django的了解不足,无法知道最好的地方在哪里。 鉴于您正在做的事情看起来像是购物车的设置,我想您想在会话中存储该信息,因此可以查看Django的会话处理。

我如何在checkout_steps函数中使用cart_formset变量。

  1. 如果这两个功能相关联,请使用Class(例如Shopping),然后将cart和checkout_steps添加为成员功能。

     class Shopping(object): def __init__(self): self.cart_formset = None def cart(self, request, template="shop/cart.html"): self.cart_formset = CartItemFormSet(instance=request.cart) def checkout_steps(self, request): #Use self.cart_formset 
  2. 您还可以将变量cart_formset设置为全局变量,以使其在整个模块中全局可用

     def cart(request, template="shop/cart.html"): global cart_formset cart_formset = CartItemFormSet(instance=request.cart) def checkout_steps(self, request): #Use self.cart_formset 
  3. 如果功能评估的顺序是确定的,则可以使用装饰器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM