Django テンプレートには 2 つの機能があります。
def cart(request, template="shop/cart.html"):
cart_formset = CartItemFormSet(instance=request.cart)
def checkout_steps(request):
checkout_steps 関数でcart_formset変数を使用する方法。.
Django テンプレートには 2 つの機能があります。
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変数を使用する方法。
2つの関数が関連している場合は、クラス(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
関数から戻ってからfromをcart_formset
呼び出して、値を取得できます。または、その変数を別の場所に保存することもできます。Djangoについて、最適な場所がどこにあるかを知るのに十分な知識がありません。あなたがしていることはショッピングカートのセットアップのように見えることを考えると、セッションでその情報を保存したいと思うので、Djangoのセッション処理を見ることができます。cart
checkout_steps