[Python-modules-commits] [djoser] 01/04: Import djoser_0.5.2.orig.tar.gz
Michael Fladischer
fladi at moszumanska.debian.org
Mon Jan 9 10:59:45 UTC 2017
This is an automated email from the git hooks/post-receive script.
fladi pushed a commit to branch master
in repository djoser.
commit 9230373435bca320b048f3260fb06fa49846bdfa
Author: Michael Fladischer <FladischerMichael at fladi.at>
Date: Mon Jan 9 11:25:25 2017 +0100
Import djoser_0.5.2.orig.tar.gz
---
PKG-INFO | 897 ++++++++++++++++++++++++-------------------
README.md | 35 +-
djoser.egg-info/PKG-INFO | 897 ++++++++++++++++++++++++-------------------
djoser.egg-info/requires.txt | 2 +-
djoser/utils.py | 9 +-
djoser/views.py | 12 +-
requirements.txt | 2 +-
setup.py | 6 +-
8 files changed, 1059 insertions(+), 801 deletions(-)
diff --git a/PKG-INFO b/PKG-INFO
index fb78bbb..91e89df 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,680 +1,801 @@
Metadata-Version: 1.1
Name: djoser
-Version: 0.5.1
+Version: 0.5.2
Summary: REST version of Django authentication system.
Home-page: https://github.com/sunscrapers/djoser
Author: SUNSCRAPERS
Author-email: info at sunscrapers.com
License: MIT
-Description: # djoser
+Description: djoser
+ ======
- [![Build Status](https://travis-ci.org/sunscrapers/djoser.svg?branch=master)](https://travis-ci.org/sunscrapers/djoser)
- [![Coverage Status](https://coveralls.io/repos/sunscrapers/djoser/badge.png?branch=master)](https://coveralls.io/r/sunscrapers/djoser?branch=master)
+ |Build Status| |Coverage Status|
- REST implementation of [Django](https://www.djangoproject.com/) authentication
- system. **Djoser** library provides a set of [Django Rest Framework](http://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/).
+ REST implementation of `Django <https://www.djangoproject.com/>`__
+ authentication system. **Djoser** library provides a set of `Django Rest
+ Framework <http://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](http://en.wikipedia.org/wiki/Single-page_application)
+ Instead of reusing Django code (e.g. ``PasswordResetForm``), we
+ reimplemented few things to fit better into `Single Page
+ App <http://en.wikipedia.org/wiki/Single-page_application>`__
architecture.
- Developed by [SUNSCRAPERS](http://sunscrapers.com/) with passion & patience.
+ Developed by `SUNSCRAPERS <http://sunscrapers.com/>`__ with passion &
+ patience.
- ## Features
+ Features
+ --------
Here is a list of supported authentication backends:
- * [HTTP Basic Auth](http://www.django-rest-framework.org/api-guide/authentication/#basicauthentication) (Default)
- * [Token based authentication from Django Rest Framework](http://www.django-rest-framework.org/api-guide/authentication#tokenauthentication)
+ - `HTTP Basic
+ Auth <http://www.django-rest-framework.org/api-guide/authentication/#basicauthentication>`__
+ (Default)
+ - `Token based authentication from Django Rest
+ Framework <http://www.django-rest-framework.org/api-guide/authentication#tokenauthentication>`__
Available endpoints:
- * `/me/`
- * `/register/`
- * `/login/` (token based authentication)
- * `/logout/` (token based authentication)
- * `/activate/`
- * `/{{ User.USERNAME_FIELD }}/`
- * `/password/`
- * `/password/reset/`
- * `/password/reset/confirm/`
+ - ``/me/``
+ - ``/register/``
+ - ``/login/`` (token based authentication)
+ - ``/logout/`` (token based authentication)
+ - ``/activate/``
+ - ``/{{ User.USERNAME_FIELD }}/``
+ - ``/password/``
+ - ``/password/reset/``
+ - ``/password/reset/confirm/``
Supported Python versions:
- * Python 2.7
- * Python 3.4
- * Python 3.5
+ - Python 2.7
+ - Python 3.4
+ - Python 3.5
Supported Django versions:
- * Django 1.7
- * Django 1.8
- * Django 1.9
- * Django 1.10
+ - Django 1.7
+ - Django 1.8
+ - Django 1.9
+ - Django 1.10
Supported Django Rest Framework versions:
- * Django Rest Framework 3.x
+ - Django Rest Framework 3.x
- For Django Rest Framework 2.4 support check [djoser 0.3.2](https://github.com/sunscrapers/djoser/tree/0.3.2).
+ For Django Rest Framework 2.4 support check `djoser
+ 0.3.2 <https://github.com/sunscrapers/djoser/tree/0.3.2>`__.
- ## Installation
+ Installation
+ ------------
- Use `pip`:
+ Use ``pip``:
+
+ ::
$ pip install djoser
- ## Quick Start
+ Quick Start
+ -----------
+
+ Configure ``INSTALLED_APPS``:
+
+ .. code:: python
- Configure `INSTALLED_APPS`:
+ INSTALLED_APPS = (
+ 'django.contrib.auth',
+ (...),
+ 'rest_framework',
+ 'djoser',
+ (...),
+ )
- ```python
- INSTALLED_APPS = (
- 'django.contrib.auth',
- (...),
- 'rest_framework',
- 'djoser',
- (...),
- )
- ```
+ Configure ``urls.py``:
- Configure `urls.py`:
+ .. code:: python
- ```python
- urlpatterns = patterns('',
- (...),
- url(r'^auth/', include('djoser.urls')),
- )
- ```
+ urlpatterns = patterns('',
+ (...),
+ url(r'^auth/', include('djoser.urls')),
+ )
- HTTP Basic Auth strategy is assumed by default as Django Rest Framework does it. However you may want to set it
- explicitly:
+ HTTP Basic Auth strategy is assumed by default as Django Rest Framework
+ does it. However you may want to set it explicitly:
- ```python
- REST_FRAMEWORK = {
- 'DEFAULT_AUTHENTICATION_CLASSES': (
- 'rest_framework.authentication.BasicAuthentication',
- ),
- }
- ```
+ .. code:: python
- Run migrations – this step will create tables for `auth` app:
+ REST_FRAMEWORK = {
+ 'DEFAULT_AUTHENTICATION_CLASSES': (
+ 'rest_framework.authentication.BasicAuthentication',
+ ),
+ }
+
+ Run migrations - this step will create tables for ``auth`` app:
+
+ ::
$ ./manage.py migrate
- ## Customizing authentication backend
+ Customizing authentication backend
+ ----------------------------------
+
+ Token Based Authentication
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
- ### Token Based Authentication
+ Add ``'rest_framework.authtoken'`` to ``INSTALLED_APPS``:
- Add `'rest_framework.authtoken'` to `INSTALLED_APPS`:
+ .. code:: python
- ```python
- INSTALLED_APPS = (
- 'django.contrib.auth',
- (...),
- 'rest_framework',
- 'rest_framework.authtoken',
- 'djoser',
- (...),
- )
- ```
+ INSTALLED_APPS = (
+ 'django.contrib.auth',
+ (...),
+ 'rest_framework',
+ 'rest_framework.authtoken',
+ 'djoser',
+ (...),
+ )
- Configure `urls.py`. Pay attention to `djoser.url.authtoken` module path.
+ Configure ``urls.py``. Pay attention to ``djoser.url.authtoken`` module
+ path.
- ```python
- urlpatterns = patterns('',
- (...),
- url(r'^auth/', include('djoser.urls.authtoken')),
- )
- ```
+ .. code:: python
- Set `TokenAuthentication` as default Django Rest Framework authentication strategy:
+ urlpatterns = patterns('',
+ (...),
+ url(r'^auth/', include('djoser.urls.authtoken')),
+ )
- ```python
- REST_FRAMEWORK = {
- 'DEFAULT_AUTHENTICATION_CLASSES': (
- 'rest_framework.authentication.TokenAuthentication',
- ),
- }
- ```
+ Set ``TokenAuthentication`` as default Django Rest Framework
+ authentication strategy:
- Run migrations – this step will create tables for `auth` and `authtoken` apps:
+ .. code:: python
+
+ REST_FRAMEWORK = {
+ 'DEFAULT_AUTHENTICATION_CLASSES': (
+ 'rest_framework.authentication.TokenAuthentication',
+ ),
+ }
+
+ Run migrations - this step will create tables for ``auth`` and
+ ``authtoken`` apps:
+
+ ::
$ ./manage.py migrate
- ## Settings
+ JSON Web Token Authentication
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ ``djoser`` does not provide support for JSON web token authentication
+ out of the box but can be enabled by using a library like
+ `djangorestframework-jwt <https://github.com/GetBlimp/django-rest-framework-jwt>`__.
+
+ You simply need to route correctly in your ``settings.ROOT_URLCONF``. An
+ example would be:
+
+ ::
- Optionally add `DJOSER` settings:
+ import rest_framework_jwt.views
+ import djoser.views
- ```python
- DJOSER = {
- 'DOMAIN': 'frontend.com',
- 'SITE_NAME': 'Frontend',
- 'PASSWORD_RESET_CONFIRM_URL': '#/password/reset/confirm/{uid}/{token}',
- 'ACTIVATION_URL': '#/activate/{uid}/{token}',
- 'SEND_ACTIVATION_EMAIL': True,
- 'PASSWORD_VALIDATORS': [],
- 'SERIALIZERS': {},
- }
- ```
+ urlpatterns = [
+ url(r'^auth/login', rest_framework_jwt.views.obtain_jwt_token), # using JSON web token
+ url(r'^auth/register', djoser.views.RegistrationView.as_view()),
+ url(r'^auth/password/reset', djoser.views.PasswordResetView.as_view()),
+ url(r'^auth/password/reset/confirm', djoser.views.PasswordResetConfirmView.as_view()),
+ ...
+ ]
+
+ Settings
+ --------
+
+ Optionally add ``DJOSER`` settings:
+
+ .. code:: python
+
+ DJOSER = {
+ 'DOMAIN': 'frontend.com',
+ 'SITE_NAME': 'Frontend',
+ 'PASSWORD_RESET_CONFIRM_URL': '#/password/reset/confirm/{uid}/{token}',
+ 'ACTIVATION_URL': '#/activate/{uid}/{token}',
+ 'SEND_ACTIVATION_EMAIL': True,
+ 'PASSWORD_VALIDATORS': [],
+ 'SERIALIZERS': {},
+ }
Check "Settings" section for more info.
- ## Endpoints
+ Endpoints
+ ---------
- ### User
+ User
+ ~~~~
Use this endpoint to retrieve/update user.
- #### `GET`
+ ``GET``
+ ^^^^^^^
- URL: `/me/`
+ URL: ``/me/``
Retrieve user.
- * **response**
+ - **response**
- * status: `HTTP_200_OK` (success)
+ - status: ``HTTP_200_OK`` (success)
- * data:
+ - data:
- `{{ User.USERNAME_FIELD }}`
+ ``{{ User.USERNAME_FIELD }}``
- `{{ User._meta.pk.name }}`
+ ``{{ User._meta.pk.name }}``
- `{{ User.REQUIRED_FIELDS }}`
+ ``{{ User.REQUIRED_FIELDS }}``
- #### `PUT`
+ ``PUT``
+ ^^^^^^^
- URL: `/me/`
+ URL: ``/me/``
Update user.
- * **request**
+ - **request**
- * data:
+ - data:
- `{{ User.REQUIRED_FIELDS }}`
+ ``{{ User.REQUIRED_FIELDS }}``
- * **response**
+ - **response**
- * status: `HTTP_200_OK` (success)
+ - status: ``HTTP_200_OK`` (success)
- * data:
+ - data:
- `{{ User.USERNAME_FIELD }}`
+ ``{{ User.USERNAME_FIELD }}``
- `{{ User._meta.pk.name }}`
+ ``{{ User._meta.pk.name }}``
- `{{ User.REQUIRED_FIELDS }}`
+ ``{{ User.REQUIRED_FIELDS }}``
- ### Register
+ Register
+ ~~~~~~~~
Use this endpoint to register new user. Your user model manager should
- implement [create_user](https://docs.djangoproject.com/en/dev/ref/contrib/auth/#django.contrib.auth.models.UserManager.create_user)
- method and have [USERNAME_FIELD](https://docs.djangoproject.com/en/dev/topics/auth/customizing/#django.contrib.auth.models.CustomUser.USERNAME_FIELD)
- and [REQUIRED_FIELDS](https://docs.djangoproject.com/en/dev/topics/auth/customizing/#django.contrib.auth.models.CustomUser.REQUIRED_FIELDS)
+ implement
+ `create\_user <https://docs.djangoproject.com/en/dev/ref/contrib/auth/#django.contrib.auth.models.UserManager.create_user>`__
+ method and have
+ `USERNAME\_FIELD <https://docs.djangoproject.com/en/dev/topics/auth/customizing/#django.contrib.auth.models.CustomUser.USERNAME_FIELD>`__
+ and
+ `REQUIRED\_FIELDS <https://docs.djangoproject.com/en/dev/topics/auth/customizing/#django.contrib.auth.models.CustomUser.REQUIRED_FIELDS>`__
fields.
- #### `POST`
+ ``POST``
+ ^^^^^^^^
- URL: `/register/`
+ URL: ``/register/``
- * **request**
+ - **request**
- * data:
+ - data:
- `{{ User.USERNAME_FIELD }}`
+ ``{{ User.USERNAME_FIELD }}``
- `{{ User.REQUIRED_FIELDS }}`
+ ``{{ User.REQUIRED_FIELDS }}``
- `password`
+ ``password``
- * **response**
+ - **response**
- * status: `HTTP_201_CREATED` (success)
+ - status: ``HTTP_201_CREATED`` (success)
- * data:
+ - data:
- `{{ User.USERNAME_FIELD }}`
+ ``{{ User.USERNAME_FIELD }}``
- `{{ User._meta.pk.name }}`
+ ``{{ User._meta.pk.name }}``
- `{{ User.REQUIRED_FIELDS }}`
+ ``{{ User.REQUIRED_FIELDS }}``
- ### Login
+ Login
+ ~~~~~
- Use this endpoint to obtain user [authentication token](http://www.django-rest-framework.org/api-guide/authentication#tokenauthentication).
- This endpoint is available only if you are using token based authentication.
+ Use this endpoint to obtain user `authentication
+ token <http://www.django-rest-framework.org/api-guide/authentication#tokenauthentication>`__.
+ This endpoint is available only if you are using token based
+ authentication.
- #### `POST`
+ ``POST``
+ ^^^^^^^^
- URL: `/login/`
+ URL: ``/login/``
- * **request**
+ - **request**
- * data:
+ - data:
- `{{ User.USERNAME_FIELD }}`
+ ``{{ User.USERNAME_FIELD }}``
- `password`
+ ``password``
- * **response**
+ - **response**
- * status: `HTTP_200_OK` (success)
+ - status: ``HTTP_200_OK`` (success)
- * data:
+ - data:
- `auth_token`
+ ``auth_token``
- ### Logout
+ Logout
+ ~~~~~~
- Use this endpoint to logout user (remove user authentication token). This endpoint is available only if you are using
- token based authentication.
+ Use this endpoint to logout user (remove user authentication token).
+ This endpoint is available only if you are using token based
+ authentication.
- #### `POST`
+ ``POST``
+ ^^^^^^^^
- URL: `/logout/`
+ URL: ``/logout/``
- * **response**
+ - **response**
- * status: `HTTP_204_NO_CONTENT` (success)
+ - status: ``HTTP_204_NO_CONTENT`` (success)
- ### Activate
+ Activate
+ ~~~~~~~~
- Use this endpoint to activate user account. This endpoint is not a URL which
- will be directly exposed to your users - you should provide site in your
- frontend application (configured by `ACTIVATION_URL`) which will send `POST`
- request to activate endpoint.
+ Use this endpoint to activate user account. This endpoint is not a URL
+ which will be directly exposed to your users - you should provide site
+ in your frontend application (configured by ``ACTIVATION_URL``) which
+ will send ``POST`` request to activate endpoint.
- #### `POST`
+ ``POST``
+ ^^^^^^^^
- URL: `/activate/`
+ URL: ``/activate/``
- * **request**
+ - **request**
- * data:
+ - data:
- `uid`
+ ``uid``
- `token`
+ ``token``
- * **response**
+ - **response**
- * status: `HTTP_204_NO_CONTENT` (success)
+ - status: ``HTTP_204_NO_CONTENT`` (success)
- ### Set username
+ Set username
+ ~~~~~~~~~~~~
- Use this endpoint to change user username (`USERNAME_FIELD`).
+ Use this endpoint to change user username (``USERNAME_FIELD``).
- #### `POST`
+ ``POST``
+ ^^^^^^^^
- URL: `/{{ User.USERNAME_FIELD }}/`
+ URL: ``/{{ User.USERNAME_FIELD }}/``
- * **request**
+ - **request**
- * data:
+ - data:
- `new_{{ User.USERNAME_FIELD }}`
+ ``new_{{ User.USERNAME_FIELD }}``
- `re_new_{{ User.USERNAME_FIELD }}` (if `SET_USERNAME_RETYPE` is `True`)
+ ``re_new_{{ User.USERNAME_FIELD }}`` (if ``SET_USERNAME_RETYPE``
+ is ``True``)
- `current_password`
+ ``current_password``
- * **response**
+ - **response**
- * status: `HTTP_204_NO_CONTENT` (success)
+ - status: ``HTTP_204_NO_CONTENT`` (success)
- ### Set password
+ Set password
+ ~~~~~~~~~~~~
Use this endpoint to change user password.
- #### `POST`
+ ``POST``
+ ^^^^^^^^
- URL: `/password/`
+ URL: ``/password/``
- * **request**
+ - **request**
- * data:
+ - data:
- `new_password`
+ ``new_password``
- `re_new_password` (if `SET_PASSWORD_RETYPE` is `True`)
+ ``re_new_password`` (if ``SET_PASSWORD_RETYPE`` is ``True``)
- `current_password`
+ ``current_password``
- * **response**
+ - **response**
- * status: `HTTP_204_NO_CONTENT` (success)
+ - status: ``HTTP_204_NO_CONTENT`` (success)
- ### Reset password
+ Reset password
+ ~~~~~~~~~~~~~~
- Use this endpoint to send email to user with password reset link. You have to
- setup `PASSWORD_RESET_CONFIRM_URL`.
+ Use this endpoint to send email to user with password reset link. You
+ have to setup ``PASSWORD_RESET_CONFIRM_URL``.
- #### `POST`
+ ``POST``
+ ^^^^^^^^
- URL: `/password/reset/`
+ URL: ``/password/reset/``
- * **request**
+ - **request**
- * data:
+ - data:
- `email`
+ ``email``
- * **response**
+ - **response**
- * status: `HTTP_204_NO_CONTENT` (success), if `PASSWORD_RESET_SHOW_EMAIL_NOT_FOUND` is `False` (default); or
- * status: `HTTP_400_BAD_REQUEST`, if `PASSWORD_RESET_SHOW_EMAIL_NOT_FOUND` is `True` and `email` does not exists in the database.
+ - status: ``HTTP_204_NO_CONTENT`` (success), if
+ ``PASSWORD_RESET_SHOW_EMAIL_NOT_FOUND`` is ``False`` (default); or
+ - status: ``HTTP_400_BAD_REQUEST``, if
+ ``PASSWORD_RESET_SHOW_EMAIL_NOT_FOUND`` is ``True`` and ``email``
+ does not exists in the database.
- ### Reset password confirmation
+ Reset password confirmation
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Use this endpoint to finish reset password process. This endpoint is not a URL
- which will be directly exposed to your users - you should provide site in your
- frontend application (configured by `PASSWORD_RESET_CONFIRM_URL`) which
- will send `POST` request to reset password confirmation endpoint.
+ Use this endpoint to finish reset password process. This endpoint is not
+ a URL which will be directly exposed to your users - you should provide
+ site in your frontend application (configured by
+ ``PASSWORD_RESET_CONFIRM_URL``) which will send ``POST`` request to
+ reset password confirmation endpoint.
- #### `POST`
+ ``POST``
+ ^^^^^^^^
- URL: `/password/reset/confirm/`
+ URL: ``/password/reset/confirm/``
- * **request**
+ - **request**
- * data:
+ - data:
- `uid`
+ ``uid``
- `token`
+ ``token``
- `new_password`
+ ``new_password``
- `re_new_password` (if `PASSWORD_RESET_CONFIRM_RETYPE` is `True`)
+ ``re_new_password`` (if ``PASSWORD_RESET_CONFIRM_RETYPE`` is
+ ``True``)
- * **response**
+ - **response**
- * status: `HTTP_204_NO_CONTENT` (success)
+ - status: ``HTTP_204_NO_CONTENT`` (success)
- ## Settings
+ Settings
+ --------
- ### DOMAIN
+ DOMAIN
+ ~~~~~~
- Domain of your frontend app. If not provided, domain of current site will be
- used.
+ Domain of your frontend app. If not provided, domain of current site
+ will be used.
- **Required**: `False`
+ **Required**: ``False``
- ### SITE_NAME
+ SITE\_NAME
+ ~~~~~~~~~~
Name of your frontend app. If not provided, name of current site will be
used.
- **Required**: `False`
+ **Required**: ``False``
- ### PASSWORD_RESET_CONFIRM_URL
+ PASSWORD\_RESET\_CONFIRM\_URL
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- URL to your frontend password reset page. It should contain `{uid}` and
- `{token}` placeholders, e.g. `#/password-reset/{uid}/{token}`. You should pass
- `uid` and `token` to reset password confirmation endpoint.
+ URL to your frontend password reset page. It should contain ``{uid}``
+ and ``{token}`` placeholders, e.g. ``#/password-reset/{uid}/{token}``.
+ You should pass ``uid`` and ``token`` to reset password confirmation
+ endpoint.
- **Required**: `True`
+ **Required**: ``True``
- ### SEND_ACTIVATION_EMAIL
+ SEND\_ACTIVATION\_EMAIL
+ ~~~~~~~~~~~~~~~~~~~~~~~
- If `True`, register endpoint will send activation email to user.
+ If ``True``, register endpoint will send activation email to user.
- **Default**: `False`
+ **Default**: ``False``
- ### SEND_CONFIRMATION_EMAIL
+ SEND\_CONFIRMATION\_EMAIL
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
- If `True`, register or activation endpoint will send confirmation email to user.
+ If ``True``, register or activation endpoint will send confirmation
+ email to user.
- **Default**: `False`
+ **Default**: ``False``
- ### ACTIVATION_URL
+ ACTIVATION\_URL
+ ~~~~~~~~~~~~~~~
- URL to your frontend activation page. It should contain `{uid}` and `{token}`
- placeholders, e.g. `#/activate/{uid}/{token}`. You should pass `uid` and
- `token` to activation endpoint.
+ URL to your frontend activation page. It should contain ``{uid}`` and
+ ``{token}`` placeholders, e.g. ``#/activate/{uid}/{token}``. You should
+ pass ``uid`` and ``token`` to activation endpoint.
- **Required**: `True`
+ **Required**: ``True``
- ### SET_USERNAME_RETYPE
+ SET\_USERNAME\_RETYPE
+ ~~~~~~~~~~~~~~~~~~~~~
- If `True`, you need to pass `re_new_{{ User.USERNAME_FIELD }}` to
- `/{{ User.USERNAME_FIELD }}/` endpoint, to validate username equality.
+ If ``True``, you need to pass ``re_new_{{ User.USERNAME_FIELD }}`` to
+ ``/{{ User.USERNAME_FIELD }}/`` endpoint, to validate username equality.
- **Default**: `False`
+ **Default**: ``False``
- ### SET_PASSWORD_RETYPE
+ SET\_PASSWORD\_RETYPE
+ ~~~~~~~~~~~~~~~~~~~~~
- If `True`, you need to pass `re_new_password` to `/password/` endpoint, to
- validate password equality.
+ If ``True``, you need to pass ``re_new_password`` to ``/password/``
+ endpoint, to validate password equality.
- **Default**: `False`
+ **Default**: ``False``
- ### PASSWORD_RESET_CONFIRM_RETYPE
+ PASSWORD\_RESET\_CONFIRM\_RETYPE
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- If `True`, you need to pass `re_new_password` to `/password/reset/confirm/`
- endpoint in order to validate password equality.
+ If ``True``, you need to pass ``re_new_password`` to
+ ``/password/reset/confirm/`` endpoint in order to validate password
+ equality.
- **Default**: `False`
+ **Default**: ``False``
- ### LOGOUT_ON_PASSWORD_CHANGE
+ LOGOUT\_ON\_PASSWORD\_CHANGE
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- If `True`, setting new password will logout the user.
+ If ``True``, setting new password will logout the user.
- **Default**: `False`
+ **Default**: ``False``
- ### PASSWORD_RESET_SHOW_EMAIL_NOT_FOUND
+ PASSWORD\_RESET\_SHOW\_EMAIL\_NOT\_FOUND
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- If `True`, posting a non-existent `email` to `/password/reset/` will return
- a `HTTP_400_BAD_REQUEST` response with an `EMAIL_NOT_FOUND` error message
- ('User with given email does not exist.').
+ If ``True``, posting a non-existent ``email`` to ``/password/reset/``
+ will return a ``HTTP_400_BAD_REQUEST`` response with an
+ ``EMAIL_NOT_FOUND`` error message ('User with given email does not
+ exist.').
- If `False` (default), the `/password/reset/` endpoint will always return
- a `HTTP_204_NO_CONTENT` response.
+ If ``False`` (default), the ``/password/reset/`` endpoint will always
+ return a ``HTTP_204_NO_CONTENT`` response.
- Please note that setting this to `True` will expose information whether
- an email is registered in the system.
+ Please note that setting this to ``True`` will expose information
+ whether an email is registered in the system.
- **Default**: `False`
+ **Default**: ``False``
- ### PASSWORD_VALIDATORS
+ PASSWORD\_VALIDATORS
+ ~~~~~~~~~~~~~~~~~~~~
- List containing [REST Framework Validator](http://www.django-rest-framework.org/api-guide/validators/) functions.
- These validators are run on `/register/` and `/password/reset/confirm/`.
+ List containing `REST Framework
+ Validator <http://www.django-rest-framework.org/api-guide/validators/>`__
+ functions. These validators are run on ``/register/`` and
+ ``/password/reset/confirm/``.
- **Default**: `[]`
+ **Default**: ``[]``
- **Example**: `[my_validator1, my_validator2]`
+ **Example**: ``[my_validator1, my_validator2]``
- ### SERIALIZERS
+ SERIALIZERS
+ ~~~~~~~~~~~
- This dictionary is used to update the defaults, so by providing,
- let's say, one key, all the others will still be used.
+ This dictionary is used to update the defaults, so by providing, let's
+ say, one key, all the others will still be used.
**Examples**
- ```
- {
- 'user': 'myapp.serializers.SpecialUserSerializer',
- }
- ```
-
- **Default**:
- ```
- {
- 'activation': 'djoser.serializers.ActivationSerializer',
- 'login': 'djoser.serializers.LoginSerializer',
- 'password_reset': 'djoser.serializers.PasswordResetSerializer',
- 'password_reset_confirm': 'djoser.serializers.PasswordResetConfirmSerializer',
- 'password_reset_confirm_retype': 'djoser.serializers.PasswordResetConfirmRetypeSerializer',
- 'set_password': 'djoser.serializers.SetPasswordSerializer',
- 'set_password_retype': 'djoser.serializers.SetPasswordRetypeSerializer',
- 'set_username': 'djoser.serializers.SetUsernameSerializer',
- 'set_username_retype': 'djoser.serializers.SetUsernameRetypeSerializer',
- 'user_registration': 'djoser.serializers.UserRegistrationSerializer',
- 'user': 'djoser.serializers.UserSerializer',
- 'token': 'djoser.serializers.TokenSerializer',
- }
- ```
-
- ## Emails
+
+ ::
+
+ {
+ 'user': 'myapp.serializers.SpecialUserSerializer',
+ }
+
+ **Default**:
+
+ ::
+
+ {
+ 'activation': 'djoser.serializers.ActivationSerializer',
+ 'login': 'djoser.serializers.LoginSerializer',
+ 'password_reset': 'djoser.serializers.PasswordResetSerializer',
+ 'password_reset_confirm': 'djoser.serializers.PasswordResetConfirmSerializer',
+ 'password_reset_confirm_retype': 'djoser.serializers.PasswordResetConfirmRetypeSerializer',
+ 'set_password': 'djoser.serializers.SetPasswordSerializer',
+ 'set_password_retype': 'djoser.serializers.SetPasswordRetypeSerializer',
+ 'set_username': 'djoser.serializers.SetUsernameSerializer',
+ 'set_username_retype': 'djoser.serializers.SetUsernameRetypeSerializer',
+ 'user_registration': 'djoser.serializers.UserRegistrationSerializer',
+ 'user': 'djoser.serializers.UserSerializer',
+ 'token': 'djoser.serializers.TokenSerializer',
+ }
+
+ Emails
+ ------
There are few email templates which you may want to override:
- * `activation_email_body.txt`
- * `activation_email_subject.txt`
- * `password_reset_email_body.txt`
- * `password_reset_email_subject.txt`
+ - ``activation_email_body.txt``
+ - ``activation_email_subject.txt``
+ - ``password_reset_email_body.txt``
+ - ``password_reset_email_subject.txt``
All of them have following context:
- * `user`
- * `domain`
- * `site_name`
- * `url`
- * `uid`
- * `token`
- * `protocol`
+ - ``user``
+ - ``domain``
+ - ``site_name``
+ - ``url``
+ - ``uid``
+ - ``token``
+ - ``protocol``
+
+ Sample usage
+ ------------
- ## Sample usage
+ We provide a standalone test app for you to start easily, see how
+ everything works with basic settings. It might be useful before
+ integrating **djoser** into your backend application.
- We provide a standalone test app for you to start easily, see how everything works with basic settings. It might be useful before integrating **djoser** into your backend application.
+ In this extremely short tutorial we are going to mimic the simplest
+ flow: register user, log in and log out. We will also check resource
+ access on each consecutive step. Let's go!
- In this extremely short tutorial we are going to mimic the simplest flow: register user, log in and log out. We will also check resource access on each consecutive step. Let's go!
+ - Clone repository and install **djoser** to your virtualenv:
- * Clone repository and install **djoser** to your virtualenv:
+ ``$ git clone git at github.com:sunscrapers/djoser.git``
- `$ git clone git at github.com:sunscrapers/djoser.git`
+ ``$ cd djoser``
- `$ cd djoser`
+ ``$ pip install -e .``
... 1612 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/djoser.git
More information about the Python-modules-commits
mailing list