A user for djangorestframework that uses an email as the username.
Project description
Overview
A user for djangorestframework that uses an email as the username.
Features
Use email as username for loging in
One name field instead of first name and last name
Endpoints for creating an account, viewing, and updating accounts
Django admin to work with EmailUser model.
Requirements
Python 3.5+
Django 2.2+
Djangorestframework 3.10+
Installation and Configuration
Install using pip:
$ pip install djangorestframework_emailuser
Add 'emailuser' to INSTALLED_APPS:
# mysite/settings.py
INSTALLED_APPS = [
...
'emailuser',
]
Add the following line to settings.py to override django’s default User model with the ‘EmailUser’ model:
# mysite/settings.py
AUTH_USER_MODEL = 'emailuser.EmailUser'
Add urls to url conf:
# mysite/urls.py
from django.urls import path, include
urlpatterns = [
...
path('accounts/', include('emailuser.urls')),
]
Using
To create a user programatically:
from django.contrib.auth import get_user_model
normal_user = get_user_model().objects.create_user(
email='me@example.com',
name='My Name',
password='MyPassword'
)
superuser = get_user_model().objects.create_superuser(
email='admin@example.com',
name='Super Name',
password='MySuperPassword'
)
Using Endpoints:
Assuming emailuser urls were set to /accounts/:
Creating user
POST {"email": email, "name": name, "password": password} to /accounts/users/register
Updating User
PUT {"email": email, "name": name, "password": password} to /accounts/users/<int:pk>/ or PATCH the attribute you want to change to /accounts/users/<int:pk>/
Referencing User
To reference user object in your code as a string (As for foreign keys):
from django.conf import settings
user_model = settings.AUTH_USER_MODEL
To reference the user class directly:
from django.contrib.auth import get_user_model
user_model = get_user_model()
See Django docs for more details.
Attributes
The EmailUser model has the following attributes:
The email address used as the login username.
- name
A single field for the name of the user.
- password
The password is hashed as set by the django settings.
- is_superuser
A boolean attribute that can only be set programatically.
- is_staff
A boolean attribute that can be set by the admin site or programatically.
EmailUser also subclasses django.contrib.auth.models.PermissionsMixin.
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
Built Distribution
File details
Details for the file djangorestframework_emailuser-0.3.1.dev0.tar.gz
.
File metadata
- Download URL: djangorestframework_emailuser-0.3.1.dev0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1e3ac00711d11e17575a19c1d3d2e2ca86e62f83c90100fa6c8f1f7455fd23e |
|
MD5 | 587cba65af0849b792c6260ad2135d9b |
|
BLAKE2b-256 | 4d0ea7e4377d691661c9c9ec3252e291a33c9a28782da4d50f50602541ba866d |
File details
Details for the file djangorestframework_emailuser-0.3.1.dev0-py3-none-any.whl
.
File metadata
- Download URL: djangorestframework_emailuser-0.3.1.dev0-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac06df2088a3af660eade2e464165892351d4158640ea81fdf143b2d54ab15b9 |
|
MD5 | 8f733709e0868a19bd4cde505251111a |
|
BLAKE2b-256 | 46275b8e3e5bec047087c51eadbab70f3444091735c57e3c96c5efc02b14f8bd |