0

我正在处理 django-paypal 并想更改按钮 src 图像。所以我去了源中的 conf.py 文件并编辑了 src 目标。但是,我真的很想不理会源,我注意到

class PayPalPaymentsForm(forms.Form):

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]

它处理所有图像 src 目的地。由于在源代码中更改此 def 比更改 conf 更糟糕,我想知道是否有一种方法可以传递您制作的自定义定义,例如在表单中传递初始参数?这样就不会更改源代码,并且我可以根据需要自定义 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)

谢谢!

4

2 回答 2

1

如此处所示:https ://github.com/dcramer/django-paypal/blob/master/paypal/standard/conf.py

您必须在 settings.py 中更改 PAYPAL_IMAGE 或 PAYPAL_SUBSCRIPTION_IMAGE, ...。

于 2012-10-06T09:34:30.980 回答
0

只是子类PayPalPaymentsForm和覆盖get_image

于 2011-07-19T23:41:51.977 回答