Module Contents



A registration backend which follows a simple workflow:


class oioioi.base.registration_backend.RegistrationView(**kwargs)[source]

Bases: registration.backends.default.views.RegistrationView

A registration backend which follows a simple workflow:

  1. User signs up, inactive account is created.

  2. Email is sent to user with activation link.

  3. User clicks activation link, account is now active.

Using this backend requires that

  • registration be listed in the INSTALLED_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 and registration/activation_email.txt, which will be used for the activation email. See the notes for this backends register 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 set SEND_ACTIVATION_EMAIL to False. 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 the user_registered signal.

Additionally, registration can be temporarily closed by adding the setting REGISTRATION_OPEN and setting it to False. Omitting this setting, or setting it to True, 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.

form_class(instance=None, *args, **kwargs)[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 new registration.models.RegistrationProfile will be created, tied to that User, 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 and RegistrationProfile are created and the activation email is sent, the signal registration.signals.user_registered will be sent, with the new User as the keyword argument user and the class of this backend as the sender.