2017-05-03 39 views
0
def API(request, selector): 
    if request.method == 'POST': 
     API2 = callback(f, user, password) 
     API2.selector() 

在這種情況下callback是其在API2發起一類。在類callback內部有一個稱爲register的功能。我想通過API2.selector()致電register()。所以API(request, register)應導致API2.register()如何調用一個方法時MethodName爲函數參數

是這樣的可能嗎?

我唯一能想到的就是if/elif語句。

Finlay我希望它能夠在POST''/ API/register'時返回API2.register()

回答

2

你可以寫:

getattr(API2, selector)() 

它使用內置的getattr功能。在這種情況下,你應該提供selector爲文本,所以:

getattr(API2, 'register')() 

如果你想回到你應該使用結果return

def API(request, selector): 
    if request.method == 'POST': 
     API2 = callback(f, user, password) 
     return getattr(API2, selector)() 
相關問題