2016-05-12 112 views
0

我正在尝试在Django上为用户设置不同的自定义注册。这个网站是以cookiecutter开始的。使用allauth/django显示自定义注册表单错误

我想看看我的浏览器这个网页时,遇到下列错误

TypeError at /users/registrocliente 
FormularioClient() got an unexpected keyword argument 'initial'

Error img

这是我的看法代码

#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

你是治疗方法FormularioCliente为一类,请检查代码,没有被正确显示 – MikeVelazco

+0

有时生活会让你感觉真的很愚蠢,那就解决了,谢谢迈克! – nccn

回答

0

正如MikeVelazco所述

需要做的更改是在窗体文件中。我正在定义一个函数而不是一个类。

之前 高清FormularioCliente(SignupForm): 后 类FormularioCliente(SignupForm):