Skip to main content

User model mixins.

Project description

django-user-mixins

Build Status

User model mixins based on Django.

user_mixins model mixins give flexibility to create your own User model. By default all mixins are optional. Our mixins allow to create, identify users (from their emails instead of their username) as well as sending password reset and account validation emails.

Installation

Install the package:

pip install django-user-mixins

Install with avatar functionality:

pip install django-user-mixins[avatar]

User model

To create a custom user model using the django-user-mixins functionality, declare your user class like this:

from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin
from user_mixins.mixins import ActiveUserMixin


class User(ActiveUserMixin, PermissionsMixin, AbstractBaseUser):
    pass

If you want to use the VerifyEmailMixin, substitute it for ActiveUserMixin.

Make sure the app containing your custom user model is added to settings.INSTALLED_APPS, and set settings.AUTH_USER_MODEL to be the path to your custom user model.

If you use EmailUserMixin or any of its derivatives, you'll need to set up Postgres to support a CIText extension in your migration. Add the following to your migration:

from django.contrib.postgres.operations import CITextExtension

operations = [
    CITextExtension(),
    ...
]

Mixins

ActiveUserMixin

user_mixins.mixins.ActiveUserMixin provides a base custom user mixin with a name, email, date_joined, is_staff, and is_active.

VerifyEmailMixin

user_mixins.mixins.VerifyEmailMixin extends ActiveUserMixin to provide functionality to verify the email. It includes an additional email_verified field.

By default, users will be created with is_active = False. A verification email will be sent including a link to verify the email and activate the account.

AvatarMixin

user_mixins.mixins.AvatarMixin adds an avatar field. The serializers for this field require django-imagekit to be installed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-user-mixins-0.0.1.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

django_user_mixins-0.0.1-py2.py3-none-any.whl (18.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-user-mixins-0.0.1.tar.gz.

File metadata

  • Download URL: django-user-mixins-0.0.1.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.8

File hashes

Hashes for django-user-mixins-0.0.1.tar.gz
Algorithm Hash digest
SHA256 c8cab792a1e7c4be7fe218e5c2873d4d6162f61dd4f39a120b4e003541cb504f
MD5 2c7228cb06e2522f3e6532a4b0174c34
BLAKE2b-256 d169276b0e34aa07eb6a24431bfb68ed32afc77d38e3847bb9c0140be0c3ffb3

See more details on using hashes here.

File details

Details for the file django_user_mixins-0.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: django_user_mixins-0.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.8

File hashes

Hashes for django_user_mixins-0.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c594d9b7e3d3d7e38c9ba3e81fadf7070bfef5f188858a0a7276192eff7f84b5
MD5 a22e686f1f12aba38b4ac35b3055553e
BLAKE2b-256 d750a8d76d4d1b20e421c8bf1f5e86ca9e99f8907d6d2d7918af0353f2dd8380

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page