django-rest-registration 0.8.3

Creator: codyrutscher

Last updated:

Add to Cart

Description:

djangorestregistration 0.8.3

Django REST Registration




User registration REST API, based on Django REST Framework.
Documentation
Full documentation for the project is available at https://django-rest-registration.readthedocs.io/.
Requirements

Django (2.0+, 3.0+, 4.0+) and Django-REST-Framework (3.3+)
Python 3.5 or higher (no Python 2 support!)

Features

Supported views:

registration (sign-up) with verification
login/logout (sign-in), session- or token-based
user profile (retrieving / updating)
reset password
change password
register (change) e-mail


Views are compatible with django-rest-swagger
Views can be authenticated via session or auth token
Modeless (uses the user defined by settings.AUTH_USER_MODEL and also uses cryptographic signing instead of profile models)
Uses password validation
Heavily tested (Above 98% code coverage)

Current limitations

Supports only one email per user (as model field)
No JWT support (but you can use it along libraries like django-rest-framework-simplejwt)

Installation & Configuration
You can install
Django REST Registration latest version via pip:
pip install django-rest-registration

Then, you should add it to the INSTALLED_APPS so the app templates
for notification emails can be accessed:
INSTALLED_APPS=(
...

'rest_registration',
)

After that, you can use the urls in your urlconfig, for instance:
api_urlpatterns = [
...

path('accounts/', include('rest_registration.api.urls')),
]


urlpatterns = [
...

path('api/v1/', include(api_urlpatterns)),
]

You can configure Django REST Registration using the REST_REGISTRATION
setting in your Django settings (similarly to Django REST Framework).
Below is sample, minimal config you can provide in your django settings which will satisfy the system checks:
REST_REGISTRATION = {
'REGISTER_VERIFICATION_ENABLED': False,
'RESET_PASSWORD_VERIFICATION_ENABLED': False,
'REGISTER_EMAIL_VERIFICATION_ENABLED': False,
}

However, the preferred base configuration would be:
REST_REGISTRATION = {
'REGISTER_VERIFICATION_URL': 'https://frontend-host/verify-user/',
'RESET_PASSWORD_VERIFICATION_URL': 'https://frontend-host/reset-password/',
'REGISTER_EMAIL_VERIFICATION_URL': 'https://frontend-host/verify-email/',

'VERIFICATION_FROM_EMAIL': 'no-reply@example.com',
}

The frontend urls are not provided by the library but should be provided
by the user of the library, because Django REST Registration is frontend-agnostic.
The frontend urls will receive parameters as GET query and should pass
them to corresponding REST API views via HTTP POST request.
In case when any verification is enabled (which is the default!),
your Django application needs to be
properly configured so it can send e-mails.
You can read more about basic configuration
here.
You can read more about detailed configuration
here.
Configuration options
You can find all REST_REGISTRATION configuration options
here.
Contributing
If you want to contribute, please refer to separate document CONTRIBUTING.md.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.