2011-07-19 3 views
0

私はdjango-paypalを扱っており、ボタンのsrcイメージを変更したいと考えています。そこで、私はconf.pyファイルをソースに入れ、srcの宛先を編集しました。しかし、私は本当に一人でソースを残したい、と私は独自の関数を渡すことでdjangoフォームの関数を変更/リダイレクトできますか?

class PayPalPaymentsForm(forms.Form): 

は、すべての画像のsrc目的地を扱う

def get_image(self): 
    return { 
     (True, self.SUBSCRIBE): SUBSCRIPTION_SANDBOX_IMAGE, 
     (True, self.BUY): SANDBOX_IMAGE, 
     (True, self.DONATE): DONATION_SANDBOX_IMAGE, 
     (False, self.SUBSCRIBE): SUBSCRIPTION_IMAGE, 
     (False, self.BUY): IMAGE, 
     (False, self.DONATE): DONATION_IMAGE, 
    }[TEST, self.button_type] 

を持っていることに気づきました。ソースでこのdefを変更することはconfを変更するよりも悪いので、フォームの初期引数を渡すようにカスタマイズしたdefを渡す方法があるのだろうかと思っていましたか?このようにしてソースコードは変更されず、必要なだけget_image defをカスタマイズすることができます。

defでこのようなものを渡しますか?

def get_image(self): 
    .... 
    .... 
paypal = { 
    'amount': 10, 
    'item_name': 'test1', 
    'item_number': 'test1_slug', 

    # PayPal wants a unique invoice ID 
    'invoice': str(uuid.uuid4()), 
} 
form = PayPalPaymentsForm(initial=paypal, get_image) 

ありがとう!

答えて

0

サブクラスPayPalPaymentsFormとオーバーライドget_image

+0

LOLは私の心を滑っているにちがいない... thx! – Derek

関連する問題