Suppose you want to ask the user for his first/last name during signup. You’ll need to put these fields in your own form, like so:
class SignupForm(forms.Form):
first_name = forms.CharField(max_length=30, label="Voornaam")
last_name = forms.CharField(max_length=30, label="Achternaam")
def signup(self, request, user):
user.first_name = self.cleaned_data['first_name']
user.last_name = self.cleaned_data['last_name']
user.save()
Then, in your settings point to this form:
ACCOUNT_SIGNUP_FORM_CLASS = 'yourproject.yourapp.forms.SignupForm'
Note that SignupForm
cannot be defined in the same file as form overrides through ACCOUNT_FORMS
or SOCIALACCOUNT_FORMS
, because that would lead to a circular import error.
That’s all.