Package: django-userprofiles
django-userprofiles is a simple registration app with some extra features.Registration settingsUSERPROFILES_CHECK_UNIQUE_EMAILIf enabled, the form checks if the user provided email is already in use.
(useful if you want to allow user to log in with their email address)USERPROFILES_DOUBLE_CHECK_EMAILIf enabled, the form shows two email fields. The user is required to enter
the same email address twice.USERPROFILES_DOUBLE_CHECK_PASSWORDIf enabled, the form shows two password fields. The user is required to
enter the same password twice to proceed.USERPROFILES_REGISTRATION_FULLNAMEIf enabled, the registration form adds two fields for first and last name.USERPROFILES_REGISTRATION_FORMYou can override the default registration form by changing this setting.
Defaults to ‘userprofiles.forms.RegistrationForm’.USERPROFILES_USE_ACCOUNT_VERIFICATIONThis app provides a mechanism to verify user accounts by sending an email
with an activation link. To use the account verification you have to adduserprofiles.contrib.accountverificationto yourINSTALLED_APPSin
order to enable the verification.USERPROFILES_ACCOUNT_VERIFICATION_DAYSDefines the amount of days a user has to activate his account. Defaults to
7.USERPROFILES_EMAIL_ONLYRemoves the username field and generates a UUID for the required username
for sites that want to use email addresses as logins.USERPROFILES_AUTO_LOGINAutomatically log the user in upon registration. This setting cannot be
used in conjunction withUSERPROFILES_USE_ACCOUNT_VERIFICATION.USERPROFILES_REDIRECT_ON_REGISTRATIONDefine a named URL to redirect the user upon successful registration.
Defaults to ‘userprofiles_registration_complete’.Profile settingsdjango-userprofiles is prepared to work with profile models and provides some
features to make it easy to manage these profiles.USERPROFILES_USE_PROFILEIf enabled, userprofiles will look for the model set inAUTH_PROFILE_MODULE.  it’s likely that you need to overwriteUSERPROFILES_REGISTRATION_FORMto add your additional profile fields and
define asave_profilemethod which is called after the user was created.USERPROFILES_INLINE_PROFILE_ADMINIf enabled, userprofiles will add a profile inline to you user admin.userprofiles.contrib.profilesdjango-userprofiles also comes with a contrib app to allow profile changes and
a profile view.USERPROFILES_PROFILE_FORMYou can overwrite the default profile form to add extra functionality.
The default form is a ModelForm for you AUTH_PROFILE_MODULE.USERPROFILES_PROFILE_ALLOW_EMAIL_CHANGEIf enabled, the user is allowed to simply change the email address in the
profile change view. This setting can only be activated ifUSERPROFILES_CHECK_UNIQUE_EMAILis disabled.If you want to check for unique emails and allow your users to change
their email addresses, you have to use the emailverification app.USERPROFILES_PROFILE_CHANGE_DONE_URLDefines the redirect destination after the profile was saved. Defaults to
the named URLuserprofiles_profile_change.userprofiles.contrib.emailverificationdjango-userprofiles provides a simple app to do confirmed email address changes.
(Users have the re-verify their email address after a change)USERPROFILES_USE_EMAIL_VERIFICATIONThis app provides a mechanism to verify email changes by sending an email
with an activation link. To use the email verification you have to adduserprofiles.contrib.emailverificationto yourINSTALLED_APPSin
order to enable the verification.USERPROFILES_EMAIL_VERIFICATION_DAYSDefines the number of days a user has time to verify her/his new email
address.  Defaults to 2.USERPROFILES_EMAIL_VERIFICATION_DONE_URLDefines the redirect destination after the email change was verified.
Defaults to the named URLuserprofiles_email_change.ToolsThere is an auth backend which allows your users to log in using their email
address.  Adduserprofiles.auth_backends.EmailOrUsernameModelBackendto your
settings if you want to use this feature.Kudos to (the people who inspired me to write this code)django-registration by James Bennett
(https://bitbucket.org/ubernostrum/django-registration/)to be continued..
If I used your code, send me a message! I’ll add you to this list.