我需要调用一个函数方法complete_login:
class VKOAuth2Adapter(OAuth2Adapter):
...
def complete_login(self, request, app, token, **kwargs):
...
它应该很简单,但我无法理解应该在" self"中发送什么参数。我知道为什么会这样,但是怎么称呼这种方法?
login = VKOAuth2Adapter.complete_login( ??? , request, app, token)
感谢。
答案 0 :(得分:4)
您需要创建该类的实例:
v = VKOAuth2Adapter( whatever parameters it needs, if any )
然后你会打电话:
v.complete_login(request, app, token)
其中v
将自动成为方法的self
。
答案 1 :(得分:2)
调用Python方法时,self
参数通常不会显式传递 - 它是隐式的。所以你要这样做:
vk = VKOAuth2Adapter()
vk.complete_login(req, app, token)
vk
实例将作为self
传递。您也可以这样编写代码:
vk = VKOAuth2Adapter()
VKOAuth2Adapter.complete_login(vk, req, app, token)
但这不是Python中的常规做法,因此请使用第一个选项。
请注意,如果您从同一个班级中的另一个方法内部调用该方法,则可以这样做:
self.complete_login(req, app, token)
那是因为self
将是该课程的一个实例,就像我之前的例子中vk
一样。