Modular user model for Django
Project description
Modular user model for Django
django-modular-user lets you easily customize Django's User model, without any compromises. Unlike Django's own AbstractBaseUser
, here nothing is irremovable, you can use exactly the parts you want.
Requirements
- Django 2.0+
Installation
pip install django-modular-user
- Create a new Django package with following models.py, and a migrations/ subdirectory:
from django_modular_user.user import AbstractUser
class User(AbstractUser):
pass
- In
settings.py
, setAUTH_USER_MODEL = 'your_new_package_name.User'
- Run
./manage.py makemigrations
Configuration
You may configure the basic profile data with USER_CORE_MODULES
setting. For example, to create an User model without usernames and passwords, that uses email as the username, you may use:
USER_CORE_MODULES = [
'django_modular_user.user:AbstractBaseUser',
'django_modular_user.user:EmailMixin', # email
'django_modular_user.user:NamePartsMixin', # given_name, middle_name, family_name
'django_modular_user.user:ActiveMixin', # is_active
'django_modular_user.user:StaffMixin', # is_staff
'django_modular_user.user:PermissionsMixin', # is_superuser and other permissions
'django_modular_user.user:JoinedMixin', # date_joined
]
USERNAME_FIELD = 'email'
USER_EMAIL_UNIQUE = True
App-specific User mixins
django-modular-user
automatically scans all INSTALLED_APPS
for user.py
modules that contain a UserMixin
class. Such mixins are automatically added to the User model; you only need to run ./manage.py makemigrations
after adding an app to your INSTALLED_APPS
list.
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
Built Distribution
File details
Details for the file django-modular-user-0.2.1.tar.gz
.
File metadata
- Download URL: django-modular-user-0.2.1.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2df4fc0c193f16d92ba8cbdf914a5a6acbf592ba37fb764a2f2d276726c55372 |
|
MD5 | b0f4b9675b6f95036ebdaa3269790ba0 |
|
BLAKE2b-256 | 3880a3f2d42a0c2cc5c9b94cafc4db85771d4ecbd43226b4ae721273faed6130 |
File details
Details for the file django_modular_user-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: django_modular_user-0.2.1-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e43a3a5c5d73494d36362c30341b02ddf28d1e2118b63123195e39666d3e4c1 |
|
MD5 | a661986320d55e396b4ac13f9a9f750e |
|
BLAKE2b-256 | 9bfdd34ccdaaed4de64f032e93f55e9ce7c0123083b949064c57cde13a3877a5 |