Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sunscrapers/djoser
REST implementation of Django authentication system.
https://github.com/sunscrapers/djoser
authentication developer-tools djoser python rest-api
Last synced: about 11 hours ago
JSON representation
REST implementation of Django authentication system.
- Host: GitHub
- URL: https://github.com/sunscrapers/djoser
- Owner: sunscrapers
- License: mit
- Created: 2014-09-30T14:50:08.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-05-09T13:56:58.000Z (8 months ago)
- Last Synced: 2024-05-16T14:19:26.254Z (7 months ago)
- Topics: authentication, developer-tools, djoser, python, rest-api
- Language: Python
- Homepage:
- Size: 1.56 MB
- Stars: 2,479
- Watchers: 38
- Forks: 454
- Open Issues: 187
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
- my-awesome-starred - djoser - REST implementation of Django authentication system. (Python)
- awesome-django-rest-framework - djoser
- awesome-translation - djoser
- -awesome-django - djoser - REST implementation of Django auth. (Third-Party Packages / APIs)
- awesome-django - djoser - REST implementation of Django auth. (Third-Party Packages / APIs)
- awesome-django - djoser - REST implementation of Django authentication system. (Authentication)
- awesome-django-rest-framework - djoser
- starred-awesome - djoser - REST implementation of Django authentication system. (Python)
- best-of-web-python - GitHub - 36% open · ⏱️ 31.03.2024): (Authorization & Authentication)
- stars - sunscrapers/djoser - REST implementation of Django authentication system. (Python)
README
======
djoser
======.. image:: https://img.shields.io/pypi/v/djoser.svg
:target: https://pypi.org/project/djoser.. image:: https://github.com/sunscrapers/djoser/actions/workflows/test-suite.yml/badge.svg?branch=master
:target: https://github.com/sunscrapers/djoser/actions?query=branch%3Amaster
:alt: Build Status.. image:: https://codecov.io/gh/sunscrapers/djoser/branch/master/graph/badge.svg
:target: https://codecov.io/gh/sunscrapers/djoser.. image:: https://img.shields.io/pypi/dm/djoser
:target: https://img.shields.io/pypi/dm/djoser.. image:: https://readthedocs.org/projects/djoser/badge/?version=latest
:target: https://djoser.readthedocs.io/en/latest/
:alt: DocsREST 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.
.. image:: https://asciinema.org/a/94J4eG2tSBD2iEfF30a6vGtXw.png
:target: https://asciinema.org/a/94J4eG2tSBD2iEfF30a6vGtXwRequirements
============To be able to run **djoser** you have to meet the following requirements:
- Python>=3.8
- Django>=3.0.0
- Django REST Framework>=3.12Installation
============Simply install using ``pip``:
.. code-block:: bash
$ 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:
.. code-block:: bash
$ git clone [email protected]:sunscrapers/djoser.git
We use `poetry `_ as dependency management and packaging tool.
.. code-block:: bash
$ cd djoser
$ poetry install --all-extrasThis will create a virtualenv with all development dependencies.
To run the test just type:
.. code-block:: bash
$ poetry run py.test testproject
We also prepared a convenient ``Makefile`` to automate commands above:
.. code-block:: bash
$ make init
$ make testTo activate the virtual environment run
.. code-block:: bash
$ poetry shell
Without poetry
--------------New versions of ``pip`` can use ``pyproject.toml`` to build the package and install its dependencies.
.. code-block:: bash
$ pip install .[test]
.. code-block:: bash
$ cd testproject
$ ./manage.py testExample project
---------------You can also play with test project by running following commands:
.. code-block:: bash
$ make migrate
$ make runserverCommiting your code
-------------------Before sending patches please make sure you have `pre-commit `_ activated in your local git repository:
.. code-block:: bash
$ pre-commit install
This will ensure that your code is cleaned before you commit it.
Similar projects
================List of projects related to Django, REST and authentication:
- `django-rest-registration `_
- `django-oauth-toolkit `_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.