私は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)
ありがとう!
LOLは私の心を滑っているにちがいない... thx! – Derek