簡體   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