huychau / drf-registration

Simple user registration package based on Django Rest Framework. DRF Registration - The easy way to generate registration RESTful APIs
https://pypi.org/project/drf-registration/
MIT License
33 stars 11 forks source link
django django-rest-framework drf drf-registration python registration

DRF Registration

Downloads

Simple user registration package based on Django Rest Framework. DRF Registration - The easy way to generate registration RESTful APIs.

Check the document at https://drf-registration.readthedocs.io/

Requirements

Features

Installation & Configuration

Install by use pip:

pip install drf-registration

Add drf_registration in INSTALLED_APPS

INSTALLED_APPS = [
    ...
    'rest_framework',
    'rest_framework.authtoken',
    'drf_registration',
    ...
]

Include urls of drf_registration in urls.py

urlpatterns = [
    ...
    path('/api/accounts/', include('drf_registration.urls')),
    ...
]

Settings

Set AUTHENTICATION_BACKEND for support login by multiple custom fields and check inactivate user when login:

AUTHENTICATION_BACKENDS = [
    'drf_registration.auth.MultiFieldsModelBackend',
]

You can update login username fields by change LOGIN_USERNAME_FIELDS in DRF_REGISTRATION object. Default to ['username', 'email',].

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.TokenAuthentication',
    ],
}

Design settings

DRF_REGISTRATION = {

}

Check default settings here.

Base APIs Design

Assuming that base resource is /api/v1/accounts/

Check more APIs Design at here.

Command line

Unit Test

make test

You can add ARGS="specific_folder/" or ARGS="specific_file.py" to run specific test cases.

Run pylint

make pylint

Build & run docs local server

make docs

Access docs server at http://localhost:8080

Clean

make clean