函数需要2个参数,应该只有一个

mun*_*ntu -1 python django function argument-passing

我有这样的功能friend_exists:

def friend_exists(request, pid):
    result = False
    try:
        user = Friend.objects.get(pid=pid)
    except Friend.DoesNotExist:
        pass  
    if user:
        result = True

    return result
Run Code Online (Sandbox Code Playgroud)

我从我的其他函数调用它:

exists = friend_exists(form.cleaned_data['pid'])
Run Code Online (Sandbox Code Playgroud)

哪里pid = u'12345678'.为什么我得到:

Exception Type: TypeError at /user/register/
Exception Value: friend_exists() takes exactly 2 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Dan*_*man 5

为什么你认为它应该只采取一个?你在函数定义中显然有两个参数:

def friend_exists(request, pid):
Run Code Online (Sandbox Code Playgroud)

就在那里它说它期望requestpid.