/djoser

REST implementation of Django authentication system.

Primary LanguagePythonMIT LicenseMIT

djoser

REST implementation of Django authentication system. djoser library provides a set of Django Rest Framework views to handle basic actions such as registration, login, logout, password reset and account activation. It works with custom user model.

Instead of reusing Django code (e.g. PasswordResetForm), we reimplemented few things to fit better into Single Page App architecture.

Developed by SUNSCRAPERS with passion & patience.

https://asciinema.org/a/FBTYjfDPUr99jxZqbLOZhh9Pd.png

Requirements

To be able to run djoser you have to meet following requirements:

  • Python (2.7, 3.4, 3.5, 3.6)
  • Django (1.11, 2.0, 2.1, 2.2)
  • Django REST Framework (3.7, 3.8, 3.9)

Bear in mind that for Django-2.x you will need at least Python 3.5

Installation

Simply install using pip:

$ pip install djoser

And continue with the steps described at configuration guide.

Documentation

Documentation is available to study at https://djoser.readthedocs.io and in docs directory.

Contributing and development

To start developing on djoser, clone the repository:

$ git clone git@github.com:sunscrapers/djoser.git

If you are a pipenv user you can quickly setup testing environment by using Make commands:

$ make init
$ make test

Otherwise, if you cannot use Make commands, please create virtualenv and install requirements manually:

$ pip install django djangorestframework
$ pip install -r requirements.txt

If you are running djoser tests on Python 2.7 you also need to install mock library.

$ pip install mock  # only on Python 2.7
$ cd testproject
$ ./manage.py test

If you need to run tests against all supported Python and Django versions then invoke:

$ pip install tox
$ tox

You can also play with test project by running following commands:

$ ./manage.py migrate
$ ./manage.py runserver

Similar projects

List of projects related to Django, REST and authentication: