2011-07-19 85 views
0

我正在處理django-paypal並想更改按鈕src圖像。所以我去了源文件中的conf.py文件並編輯了src目標。不過,我真的想獨自離開的來源,我注意到你可以通過傳入你自己的函數來改變/重定向一個django表單的函數嗎?

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更糟糕,所以我想知道是否有一種方法可以像在表單中傳遞初始參數那樣傳遞定製的defs?這樣,沒有源代碼被改變,我可以根據需要自定義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

大聲笑一定已經溜走了我的腦海...... thx! – Derek

相關問題