User Account Package

User Account Submodules

user.admin module

user.apps module

class user.apps.UserConfig(app_name, app_module)

Bases: AppConfig

name = 'user'

user.auth_middleware module

Created on 7 Apr 2022

@author: Dr. Matthew B.J. Purss

class user.auth_middleware.TokenAuthMiddleware(inner)

Bases: AuthMiddleware

async resolve_scope(scope)
user.auth_middleware.TokenAuthMiddlewareStack(inner)
user.auth_middleware.get_user(scope)

user.decorators module

Created on 1 Apr 2022

@author: Dr. Matthew B.J. Purss

user.decorators.rest_login_required(function=None, redirect_field_name='next', login_url=None)

Decorator for views that checks that the user is logged in, redirecting to the log-in page if necessary.

user.decorators.user_passes_test(test_func, test_input='session', login_url=None, redirect_field_name='next')

Decorator for views that checks that the user passes the given test, redirecting to the log-in page if necessary. The test should be a callable that takes the user object and returns True if the user passes.

user.forms module

Created on 21 May 2017

@author: Dr. Matthew B.J. Purss

class user.forms.LoginForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)

Bases: Form

class Meta

Bases: object

fields = ('email', 'password')
model

alias of CustomUser

base_fields = {'email': <django.forms.fields.EmailField object>, 'password': <django.forms.fields.CharField object>}
clean_email()
declared_fields = {'email': <django.forms.fields.EmailField object>, 'password': <django.forms.fields.CharField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class user.forms.RecoverUsernameForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)

Bases: Form

class Meta

Bases: object

fields = ('first_name', 'last_name', 'secret_question_1', 'secret_answer_1', 'secret_question_2', 'secret_answer_2')
model

alias of CustomUser

base_fields = {'first_name': <django.forms.fields.CharField object>, 'last_name': <django.forms.fields.CharField object>}
clean()

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {'first_name': <django.forms.fields.CharField object>, 'last_name': <django.forms.fields.CharField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class user.forms.ResetPasswordForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)

Bases: Form

class Meta

Bases: object

fields = ('email',)
model

alias of CustomUser

base_fields = {'email': <django.forms.fields.EmailField object>}
declared_fields = {'email': <django.forms.fields.EmailField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class user.forms.SignUpForm(*args, **kwargs)

Bases: UserCreationForm

class Meta

Bases: object

fields = ('first_name', 'last_name', 'email', 'organisation', 'secret_question_1', 'secret_answer_1', 'secret_question_2', 'secret_answer_2', 'password1', 'password2', 'terms_agreement_checkbox')
model

alias of CustomUser

base_fields = {'email': <django.forms.fields.EmailField object>, 'first_name': <django.forms.fields.CharField object>, 'last_name': <django.forms.fields.CharField object>, 'organisation': <django.forms.fields.CharField object>, 'password1': <django.forms.fields.CharField object>, 'password2': <django.forms.fields.CharField object>, 'secret_answer_1': <django.forms.fields.CharField object>, 'secret_answer_2': <django.forms.fields.CharField object>, 'secret_question_1': <django.forms.fields.ChoiceField object>, 'secret_question_2': <django.forms.fields.ChoiceField object>, 'terms_agreement_checkbox': <django.forms.fields.BooleanField object>}
clean()

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

clean_email()
declared_fields = {'email': <django.forms.fields.EmailField object>, 'first_name': <django.forms.fields.CharField object>, 'last_name': <django.forms.fields.CharField object>, 'organisation': <django.forms.fields.CharField object>, 'password1': <django.forms.fields.CharField object>, 'password2': <django.forms.fields.CharField object>, 'secret_answer_1': <django.forms.fields.CharField object>, 'secret_answer_2': <django.forms.fields.CharField object>, 'secret_question_1': <django.forms.fields.ChoiceField object>, 'secret_question_2': <django.forms.fields.ChoiceField object>, 'terms_agreement_checkbox': <django.forms.fields.BooleanField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class user.forms.UserForm(*args, **kwargs)

Bases: Form

class Meta

Bases: object

fields = ('first_name', 'last_name', 'email', 'organisation', 'profile_image', 'profile_picture', 'secret_question_1', 'secret_answer_1', 'secret_question_2', 'secret_answer_2')
model

alias of CustomUser

base_fields = {'email': <django.forms.fields.EmailField object>, 'first_name': <django.forms.fields.CharField object>, 'last_name': <django.forms.fields.CharField object>, 'organisation': <django.forms.fields.CharField object>, 'profile_image': <django.forms.fields.ImageField object>, 'profile_picture': <django.forms.fields.CharField object>, 'secret_answer_1': <django.forms.fields.CharField object>, 'secret_answer_2': <django.forms.fields.CharField object>, 'secret_question_1': <django.forms.fields.ChoiceField object>, 'secret_question_2': <django.forms.fields.ChoiceField object>}
declared_fields = {'email': <django.forms.fields.EmailField object>, 'first_name': <django.forms.fields.CharField object>, 'last_name': <django.forms.fields.CharField object>, 'organisation': <django.forms.fields.CharField object>, 'profile_image': <django.forms.fields.ImageField object>, 'profile_picture': <django.forms.fields.CharField object>, 'secret_answer_1': <django.forms.fields.CharField object>, 'secret_answer_2': <django.forms.fields.CharField object>, 'secret_question_1': <django.forms.fields.ChoiceField object>, 'secret_question_2': <django.forms.fields.ChoiceField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'

user.models module

class user.models.CustomUser(**userproperties)

Bases: Model

class Meta

Bases: object

abstract = False
check_password(raw_password)

Return a boolean of whether the raw_password was correct. Handles hashing formats behind the scenes.

clean()

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

classmethod get_email_field_name()
get_full_name()
get_session_auth_hash()

Return an HMAC of the password field.

get_short_name()
get_username()

Return the username for this User.

has_module_perms(app_label)
has_perm(perm, obj=None)
has_usable_password()

Return False if set_unusable_password() has been called for this user.

property is_anonymous

Always return False. This is a way of comparing User objects to anonymous users.

property is_authenticated

Always return True. This is a way to tell if the user has been authenticated in templates.

natural_key()
classmethod normalize_username(username)
save(*args, **kwargs)

Save the current instance. Override this in a subclass if you want to control the saving process.

The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.

set_password(raw_password)
set_unusable_password()
validate_secret_question()
class user.models.User(id, password, email, first_name, last_name, username, organisation, profile_picture, secret_question_1, secret_answer_1, secret_question_2, secret_answer_2, licences, date_joined, last_login, is_active, is_staff, is_superuser)

Bases: AbstractBaseUser

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

REQUIRED_FIELDS = []
USERNAME_FIELD = 'email'
date_joined

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

email

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

first_name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

get_full_name()
get_next_by_date_joined(*, field=<django.db.models.fields.DateTimeField: date_joined>, is_next=True, **kwargs)
get_next_by_last_login(*, field=<django.db.models.fields.DateTimeField: last_login>, is_next=True, **kwargs)
get_previous_by_date_joined(*, field=<django.db.models.fields.DateTimeField: date_joined>, is_next=False, **kwargs)
get_previous_by_last_login(*, field=<django.db.models.fields.DateTimeField: last_login>, is_next=False, **kwargs)
get_secret_question_1_display(*, field=<django.db.models.fields.CharField: secret_question_1>)
get_secret_question_2_display(*, field=<django.db.models.fields.CharField: secret_question_2>)
get_short_name()
has_module_perms(app_label)
has_perm(perm, obj=None)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

is_active

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

is_staff

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

is_superuser

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

last_login

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

last_name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

licences

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

logentry_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

objects = <user.models.UserManager object>
organisation

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

password

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

profile_picture

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

secret_answer_1

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

secret_answer_2

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

secret_question_1

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

secret_question_2

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

username

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class user.models.UserManager(*args, **kwargs)

Bases: BaseUserManager

create_superuser(email, password)

Creates and saves a superuser with the given email, date of birth and password.

create_user(email, password=None)

Creates and saves a User with the given email

user.serializers module

Created on 21 Apr 2022

@author: Dr. Matthew B.J. Purss

class user.serializers.UserSerializer(*args, **kwargs)

Bases: ModelSerializer

class Meta

Bases: object

fields = ('username', 'email', 'first_name', 'last_name', 'organisation', 'licences', 'is_active', 'is_staff', 'is_superuser', 'is_authenticated')
model

alias of User

user.tests module

user.tokens module

Created on 26 Jun. 2018

@author: Dr. Matthew B.J. Purss

class user.tokens.TokenGenerator

Bases: PasswordResetTokenGenerator

user.urls module

user.views module

user.views.activate(request, uidb64, token)
user.views.change_password(request)
user.views.edit_user(request)
user.views.login_view(request, *args, **kwargs)
user.views.logout_view(request)
user.views.password_reset(request)
user.views.password_reset_confirm(request, uidb64, token)
user.views.recover_username(request)
user.views.signup(request)
user.views.user_account(request)