我使用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个参数!!!
我尝试使用硬编码值,但我得到了同样的信息。
答案 0 :(得分:0)
调用方法时,会隐式添加self
作为第一个参数。
您是否忘记在函数定义中包含self
作为第一个参数?
答案 1 :(得分:0)
根据the code来判断,create方法不会期望名字和姓氏参数 - self会被隐式传递,但是它希望你传递5个变量 - 用户名,电子邮件,密码,网站,和一个可选的send_email。
你给它太多(和不正确的)参数:)