我在Django 模板中有两个功能。
def cart(request, template="shop/cart.html"):
cart_formset = CartItemFormSet(instance=request.cart)
def checkout_steps(request):
我如何在我的checkout_steps 函数中使用cart_formset变量。.
我在Django 模板中有两个功能。
def cart(request, template="shop/cart.html"):
cart_formset = CartItemFormSet(instance=request.cart)
def checkout_steps(request):
我如何在我的checkout_steps 函数中使用cart_formset变量。.
我如何在我的 checkout_steps 函数中使用 cart_formset 变量..
如果这两个函数相关,则使用一个类(如 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
您还可以将变量 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
如果函数评估的顺序是确定性的,那么您可以使用装饰器
你不能。这就是局部变量:它们对于它们所在的函数是局部的。cart_formset
除了执行时,该变量不存在cart
。
您可以cart_formset
从函数返回,然后调用cart
fromcheckout_steps
以获取值。或者您可以将该变量存储在其他地方。我对 Django 的了解还不够,不知道最好的地方在哪里。鉴于您正在做的事情看起来像一个购物车设置,我猜您想将该信息与会话一起存储,因此您可以查看 Django 的会话处理。