oioioi.base.registration_backend
¶
Module Contents¶
Classes¶
A registration backend which follows a simple workflow: |
Attributes¶
- class oioioi.base.registration_backend.RegistrationView(**kwargs)[source]¶
Bases:
registration.backends.default.views.RegistrationView
A registration backend which follows a simple workflow:
User signs up, inactive account is created.
Email is sent to user with activation link.
User clicks activation link, account is now active.
Using this backend requires that
registration
be listed in theINSTALLED_APPS
setting (since this backend makes use of models defined in this application).The setting
ACCOUNT_ACTIVATION_DAYS
be supplied, specifying (as an integer) the number of days from registration during which a user may activate their account (after that period expires, activation will be disallowed).The creation of the templates
registration/activation_email_subject.txt
andregistration/activation_email.txt
, which will be used for the activation email. See the notes for this backendsregister
method for details regarding these templates.
When subclassing this view, you can set the
SEND_ACTIVATION_EMAIL
class variable to False to skip sending the new user a confirmation email or setSEND_ACTIVATION_EMAIL
toFalse
. Doing so implies that you will have to activate the user manually from the admin site or send an activation by some other method. For example, by listening for theuser_registered
signal.Additionally, registration can be temporarily closed by adding the setting
REGISTRATION_OPEN
and setting it toFalse
. Omitting this setting, or setting it toTrue
, will be interpreted as meaning that registration is currently open and permitted.Internally, this is accomplished via storing an activation key in an instance of
registration.models.RegistrationProfile
. See that model and its custom manager for full documentation of its fields and supported operations.- register(form)[source]¶
Given a username, email address and password, register a new user account, which will initially be inactive.
Along with the new
User
object, a newregistration.models.RegistrationProfile
will be created, tied to thatUser
, containing the activation key which will be used for this account.An email will be sent to the supplied email address; this email should contain an activation link. The email will be rendered using two templates. See the documentation for
RegistrationProfile.send_activation_email()
for information about these templates and the contexts provided to them.After the
User
andRegistrationProfile
are created and the activation email is sent, the signalregistration.signals.user_registered
will be sent, with the newUser
as the keyword argumentuser
and the class of this backend as the sender.