如何解决自定义用户配置文件后获得的弃用警告?

时间:2014-06-15 15:44:02

标签: python django django-authentication django-allauth

我自定义了此问题中建议的用户个人资料:How to customize user profile when using django-allauth

所以基本上我的代码看起来像这样:

  • 在forms.py中:

    class SignupForm(forms.Form):
        first_name = forms.CharField(max_length=30, label=_("First Name"))
        last_name = forms.CharField(max_length=30, label=_("Last Name"))
    
        def save(self, user):
            user.first_name = self.cleaned_data['first_name']
            user.last_name = self.cleaned_data['last_name']
            user.save()
    
  • 在settings.py中:

    ACCOUNT_SIGNUP_FORM_CLASS = 'core.forms.SignupForm'
    

代码工作正常,我在注册表单中获得了包含名字和姓氏的完整表单,但是我收到以下警告:

DeprecationWarning: The custom signup form must offer a def signup(self, request, user) method DeprecationWarning)

问题:为解决此警告,我应该如何处理def signup(self, request, user) method

谢谢!

1 个答案:

答案 0 :(得分:1)

docs中所述,弃用警告支持def signup(self, request, user)

  

以前,在自定义注册表单上调用了save(用户)。   但是,如果是模型表单,这会影响现有的save方法   被使用了。为避免混淆,已弃用save方法   赞成def注册(请求,用户)方法。

所以只需实现该方法即可。并且def save() def signup() def save()执行你曾经做过的事情。不需要def signup(self, request, user): user.first_name = self.cleaned_data['first_name'] user.last_name = self.cleaned_data['last_name'] user.save()

{{1}}