The one-step workflow¶
As an alternative to the two-step (registration and activation) workflow, django-registration bundles a one-step registration workflow in django_registration.backends.one_step. This workflow consists of as few steps as possible:
A user signs up by filling out a registration form.
The user’s account is created and is active immediately, with no intermediate confirmation or activation step.
The new user is logged in immediately.
Configuration¶
To use this workflow, include the URLconf django_registration.backends.one_step.urls somewhere in your site’s own URL configuration. For example:
from django.urls import include, path
urlpatterns = [
# Other URL patterns ...
path('accounts/', include('django_registration.backends.one_step.urls')),
path('accounts/', include('django.contrib.auth.urls')),
# More URL patterns ...
]
To control whether registration of new accounts is allowed, you can
specify the setting REGISTRATION_OPEN
.
Upon successful registration, the user will be redirected to the
site’s home page – the URL /. This can be changed by subclassing
django_registration.backends.one_step.views.RegistrationView
and overriding the method
get_success_url()
or setting the attribute
success_url
. You
can also do this in a URLconf. For example:
from django.conf.urls import include, url
from django_registration.backends.one_step.views import RegistrationView
urlpatterns = [
# Other URL patterns ...
path('accounts/register/',
RegistrationView.as_view(success_url='/profile/'),
name='django_registration_register'),
path('accounts/', include('django_registration.backends.one_step.urls')),
path('accounts/', include('django.contrib.auth.urls')),
# More URL patterns ...
]
The default form class used for account registration will be
django_registration.forms.RegistrationForm
, although this can
be overridden by supplying a custom URL pattern for the registration
view and passing the keyword argument form_class, or by subclassing
django_registration.backends.one_step.views.RegistrationView
and either overriding
form_class
or
implementing
get_form_class()
,
and specifying the custom subclass in your URL patterns.
Templates¶
The one-step workflow uses two templates:
django_registration/registration_form.html.
django_registration/registration_closed.html
See the quick start guide for details of these templates.