django-allauth - Overriding default signup form

前端 未结 2 1080
孤街浪徒
孤街浪徒 2021-02-04 17:38

I\'m using this code (in forms.py) for my custom signup form for allauth:

class RegistrationForm(UserCreationForm):
    birth_date = forms.DateField(widget=extra         


        
2条回答
  •  走了就别回头了
    2021-02-04 17:56

    In your project setting.py try to add this line:

    verify if you have added this:

    AUTHENTICATION_BACKENDS = (
        "django.contrib.auth.backends.ModelBackend",
        "allauth.account.auth_backends.AuthenticationBackend",
    )
    
    ACCOUNT_SIGNUP_FORM_CLASS = "yourapp.forms.customSignupForm"
    

    In app.models

    class CustomModel(models.Model):
        """CustomModel docstring."""
    
        city = forms.CharField(max_length=75)
        country = forms.CharField(max_length=25)
        other....
    

    In app.forms:

    class SignForm(forms.ModelForm):
        """SignForm docstring."""
    
        username = forms.CharField(
            max_length=30,
        )
        first_name = forms.CharField(
            max_length=30,
        )
        last_name = forms.CharField(
            max_length=30,
        )
        field...
    
        def myclean():
    
        def signup(self, request, user):
            """You signup function."""
    
    
        # dont forget to save your model
    
        class Meta:
            model = mymodel.CustomModel
            fields = [
                'city',
                'country',
                'field...',
            ]
    

    Try this method work !

提交回复
热议问题