Custom Django User model that makes email the USERNAME_FIELD.
Project description
CUser makes it easy to use email address as your identification token instead of a username.
CUser is a custom Django User model (extends AbstractBaseUser) so it takes a tiny amount of effort to use.
The only difference between CUser and the vanilla Django User is email address is the USERNAME_FIELD (and username does not exist).
Why use CUser?
Because you still want everything in django.contrib.auth, but you also want users to log in with email addresses. And you don’t want to create your own custom User model or authentication backend.
Install & Set up
If you previously used Django’s default User model, django.contrib.auth.User, jump to Notes first (then come back). Otherwise, continue onward!
Install with pip install django-username-email
Add cuser to your INSTALLED_APPS setting:
INSTALLED_APPS = [ ... 'cuser', ]
Specify the custom model as the default user model for your project using the AUTH_USER_MODEL setting in your settings.py:
AUTH_USER_MODEL = 'cuser.CUser'
Instead of referring to User directly, you should reference the user model using django.contrib.auth.get_user_model()
Make migrations and migrate them to create CUser’s models.
python manage.py makemigrations cuser python manage.py migrate
Notes
If you have tables referencing Django’s User model, you will have to delete those table and migrations, then re-migrate. This will ensure everything is set up correctly from the beginning.
When you define a foreign key or many-to-many relations to the User model, you should specify the custom model using the AUTH_USER_MODEL setting.
For example:
from django.conf import settings
from django.db import models
class Profile(models.Model):
user = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
)
License
Released under the MIT license. See LICENSE for details.
Questions, comments, or anything else?
Open an issue
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-username-email-1.0.4a1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66d6abb0910f92fb76cbab44b24f71e9df984e4bc69afba78c2a28468d4646f2 |
|
MD5 | 1f46eff052a133befcbee8d7f54ef952 |
|
BLAKE2b-256 | 116ccf4b574cd8bc0079e6acb2374069a0edf37c1bfd7eacda17daf50b135c06 |