Django User Authentication: Customizing User Registration

I’m developing a Django web application, and I want to customize the user registration process to collect additional user information during signup. Specifically, I want to include fields like first_name, last_name, and profile_picture in the registration form.

I’ve researched Django’s built-in authentication system, but I’m not sure how to extend it to include these additional fields. Could someone provide guidance on how to customize the user registration process in Django, including creating a custom registration form, updating the user model, and ensuring secure data storage?

Additionally, if there are any best practices or code examples for customizing user registration in Django, I’d greatly appreciate any insights to help me get started. Thank you for your assistance!

These are Django’s built-in authentication class based views

and as for registration (SignUp) you need to create respective forms, views, urls and template

I’ve some registration form code for your reference

class RegistrationForm(forms.ModelForm):
    password = forms.CharField(label='Password', widget=forms.PasswordInput)

    class Meta:
        model = Account
        fields = ('email', 'name', 'phone', 'password')

    def save(self, commit=True):
        # Save the provided password in hashed format

        user = super().save(commit=False)
        user.set_password(self.cleaned_data["password"])

        if commit:
            user.save()

        return user