How to make sequential signup pages with Django allauth?

I currently have a single page signup form implemented with allauth

from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
    email = models.EmailField(_('Professional email address'), unique=True)
    username = models.CharField(_("User Name"), blank=False, max_length=255, unique=True)
    first_name = models.CharField(_("First Name"), null=True, max_length=255, default='')
    last_name = models.CharField(_("Last Name"), null=True, max_length=255, default='')
    country = CountryField(_("Country of Practice"), blank_label='(Country of Practice)', blank = False, default='GB')
    terms = models.BooleanField(verbose_name=_('I have read and agree to the terms and conditions'), default=False)

 def get_absolute_url(self):
        return reverse(
            "users:detail", kwargs={"username": self.username}

    objects = UserManager()

And this is the

class UserCreationForm(forms.UserCreationForm):

    error_message = forms.UserCreationForm.error_messages.update(
        {"duplicate_username": _("This username has already been taken.")}

    username = CharField(label='User Name',
                        widget=TextInput(attrs={'placeholder': 'User Name'}))

    class Meta(forms.UserCreationForm.Meta):
        model = User
        fields = ['username', 'email',  'first_name', 'last_name', 'password1', 'password2', 'terms']
        field_order = ['username', 'email', 'first_name', 'last_name', 'password1', 'password2', 'terms']

    def clean_terms(self):
        is_filled = self.cleaned_data['terms']
        if not is_filled:
            raise forms.ValidationError('This field is required')
        return is_filled  
    def clean_username(self):
        username = self.cleaned_data["username"]
        if self.instance.username == username:
            return username
        except User.DoesNotExist:
            return username
        raise ValidationError(

I would like however for the first sign up page to have a ‘next’ button at the bottom and then there would be a second page where the user input separate details (the data input here might vary based on the inputs in the first page). The Django ‘form tools’ form wizard seems well suite to this but I can’t work out how to integrate it with all auth

Any suggestions much appreciated

This appears to be an effective duplicate of Integrating allauth with form wizard?.

Please do not repost questions multiple times.

From the Forum FAQ:

If you have a question, please post it once and don’t make multiple posts in multiple categories to try and get attention. Sometimes it takes a while for the right person to be able to see your post and reply to it!

Apologies - shall I delete this topic?

I think the simple way to do what you need is to use tabs (in your template) with jquery and ajax …
The user will still in the same page but the page have many tabs, the tab represents new page (and you can stay in one sign up page with only one view to handle the sign up process)

This is an idea from my point of view, I don’t know if it’s suitable for you or not.

Either this one or the other one, it’s up to you.