使用allauth / django显示自定义注册表单视图时出错

时间:2016-05-12 22:32:00

标签: python django django-allauth

我正在尝试为Django上的用户设置不同的自定义注册。这个网站是用cookiecutter开始的。

尝试在浏览器上查看此页面时出现以下错误

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)

这是表单的初始版本,只是在我添加更多内容之前将其开始并进行测试。

1 个答案:

答案 0 :(得分:0)

正如MikeVelazco所述

需要进行的更改是在表单文件上。我正在定义一个函数而不是一个类。

在 def FormularioCliente(SignupForm): 后 FormularioCliente(SignupForm)类: