REST version of Django authentication system.
Project description
====== djoser
.. image:: https://img.shields.io/pypi/v/djoser.svg :target: https://pypi.org/project/djoser
.. image:: https://img.shields.io/travis/sunscrapers/djoser/master.svg :target: https://travis-ci.org/sunscrapers/djoser
.. image:: https://img.shields.io/codecov/c/github/sunscrapers/djoser.svg :target: https://codecov.io/gh/sunscrapers/djoser
.. image:: https://api.codacy.com/project/badge/Grade/c9bf80318d2741e5bb63912a5e0b32dc :alt: Codacy Badge :target: https://app.codacy.com/app/dekoza/djoser?utm_source=github.com&utm_medium=referral&utm_content=sunscrapers/djoser&utm_campaign=Badge_Grade_Dashboard
.. image:: https://img.shields.io/pypi/dm/djoser :target: https://img.shields.io/pypi/dm/djoser
REST implementation of Django <https://www.djangoproject.com/>
_ authentication
system. djoser library provides a set of Django Rest Framework <https://www.django-rest-framework.org/>
_
views to handle basic actions such as registration, login, logout, password
reset and account activation. It works with
custom user model <https://docs.djangoproject.com/en/dev/topics/auth/customizing/>
_.
Instead of reusing Django code (e.g. PasswordResetForm
), we reimplemented
few things to fit better into Single Page App <https://en.wikipedia.org/wiki/Single-page_application>
_
architecture.
Developed by SUNSCRAPERS <http://sunscrapers.com/>
_ with passion & patience.
.. image:: https://asciinema.org/a/94J4eG2tSBD2iEfF30a6vGtXw.png :target: https://asciinema.org/a/94J4eG2tSBD2iEfF30a6vGtXw
Requirements
To be able to run djoser you have to meet following requirements:
- Python (3.5, 3.6, 3.7, 3.8)
- Django (1.11, 2.2, 3.1)
- Django REST Framework (3.9, 3.10, 3.11.1)
If you need to support other versions, please use djoser<2.
Installation
Simply install using pip
:
.. code-block:: bash
$ pip install djoser
And continue with the steps described at
configuration <https://djoser.readthedocs.io/en/latest/getting_started.html#configuration>
_
guide.
Documentation
Documentation is available to study at
https://djoser.readthedocs.io <https://djoser.readthedocs.io>
_
and in docs
directory.
Contributing and development
To start developing on djoser, clone the repository:
.. code-block:: bash
$ git clone git@github.com:sunscrapers/djoser.git
If you are a pipenv user you can quickly setup testing environment by using Make commands:
.. code-block:: bash
$ make init
$ make test
Otherwise, if you cannot use Make commands, please create virtualenv and install requirements manually:
.. code-block:: bash
$ pip install django djangorestframework
$ pip install -r requirements.txt
.. code-block:: bash
$ cd testproject
$ ./manage.py test
If you need to run tests against all supported Python and Django versions then invoke:
.. code-block:: bash
$ pip install tox
$ tox -p all
You can also play with test project by running following commands:
.. code-block:: bash
$ ./manage.py migrate
$ ./manage.py runserver
Similar projects
List of projects related to Django, REST and authentication:
django-rest-framework-simplejwt <https://github.com/davesque/django-rest-framework-simplejwt>
_django-oauth-toolkit <https://github.com/evonove/django-oauth-toolkit>
_django-rest-auth <https://github.com/Tivix/django-rest-auth>
_ (not maintained)django-rest-framework-digestauth <https://github.com/juanriaza/django-rest-framework-digestauth>
_ (not maintained)
Please, keep in mind that while using custom authentication and TokenCreateSerializer validation, there is a path that ignores intentional return of None from authenticate() and try to find User using parameters. Probably, that will be changed in the future.
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.