错误消息不一致

时间:2013-10-28 22:19:00

标签: python django django-registration

我使用django-registration模块,但这是一个django / python问题。

在自定义视图中:

def register(self, request, **cleaned_data):

    firstname, lastname, email, password = cleaned_data['firstname'], cleaned_data['lastname'], cleaned_data['email'], cleaned_data['password']
    if Site._meta.installed:
        site = Site.objects.get_current()
    else:
        site = RequestSite(request)
    new_user = RegistrationProfile.objects.create_inactive_user(email, email,
                                                                password, firstname,
                                                                lastname, site)

    signals.user_registered.send(sender=self.__class__,
                                 user=new_user,
                                 request=request)
    return new_user

当我发送表单时,我收到此错误:

TypeError at /accounts/register/
 create_inactive_user() takes at most 6 arguments (7 given)

指向我的create_inactive_user(电子邮件,电子邮件,密码,名字,姓氏,网站)......有6个参数!!!

我尝试使用硬编码值,但我得到了同样的信息。

2 个答案:

答案 0 :(得分:0)

调用方法时,会隐式添加self作为第一个参数。

您是否忘记在函数定义中包含self作为第一个参数?

答案 1 :(得分:0)

根据the code来判断,create方法不会期望名字和姓氏参数 - self会被隐式传递,但是它希望你传递5个变量 - 用户名,电子邮件,密码,网站,和一个可选的send_email。

你给它太多(和不正确的)参数:)