我正在尝试为Django上的用户设置不同的自定义注册。这个网站是用cookiecutter开始的。
尝试在浏览器上查看此页面时出现以下错误
TypeError at /users/registrocliente FormularioClient() got an unexpected keyword argument 'initial'
这是我的代码
观点
#View para el formulario de registro de usuarios clientes
class ClienteRegistroView(SignupView):
template_name = 'templates/account/form_cliente.html'
form_class = FormularioCliente
redirect_field_name = 'next'
view_name = 'registrocliente'
success_url = None
def get_context_data(self, **kwargs):
ret = super(ClienteRegistroView, self).get_context_data(**kwargs)
ret.update(self.kwargs)
return ret
registrocliente = ClienteRegistroView.as_view()
表格
#Formulario de registro para usuarios del tipo cliente
def FormularioCliente(SignupForm):
class Meta:
model = Cliente
fields = '__all__'
def signup(self,request,user):
user = super(FormularioCliente, self).save(request)
user = self.cleaned_data['nombre']
user.pais = self.cleaned_data['pais']
user.departamento = self.cleaned_data['departamento']
user.fecha_nacimiento = self.cleaned_data['fecha_nacimiento']
def __init__(self, *args, **kwargs):
super(FormularioCliente,self).__init__(*args,**kwargs)
这是表单的初始版本,只是在我添加更多内容之前将其开始并进行测试。
答案 0 :(得分:0)
正如MikeVelazco所述
需要进行的更改是在表单文件上。我正在定义一个函数而不是一个类。
在 def FormularioCliente(SignupForm): 后 FormularioCliente(SignupForm)类: