Common exception for Django REST framework
Project description
drf-common-exceptions
Release | CI | Coverage |
---|---|---|
Common exception for Django REST framework. Provides single generic interface of returning data structure for any kind of exceptions which are handled by Django REST framework. Includes error name, path to service with line where the error occurs and a list of actual error messages with extended fields info.
Requirements
- Python (3.6+)
- Django (1.11.x, 2.0+)
- Django REST Framework (3.7+)
Installation
$ pip install drf-common-exceptions
Usage examples
You can define common exception handler for whole project. Just put the following line to your django settings inside drf section:
REST_FRAMEWORK = {
...
"EXCEPTION_HANDLER": "drf_common_exceptions.common_exception_handler",
...
}
Or use it just for particular view or viewset:
from drf_common_exceptions import CommonExceptionHandlerMixin
class MyView(CommonExceptionHandlerMixin, APIView):
pass
The output will looks like for example validation error:
{
"service": "path.to.views.MyView:20",
"error": "ValidationError",
"detail": [
{
"label": "Name",
"field": "name",
"messages": [
"This is required field."
]
}
]
}
The data structure will be the same for any other errors.
Development
Install poetry and requirements:
$ curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
$ python3 -m venv path/to/venv
$ source path/to/venv/bin/activate
$ poetry install
Run main commands:
$ make test
$ make watch
$ make clean
$ make lint
Publish to pypi be default patch version:
$ make publish
or any level you want:
$ make publish minor
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.
Source Distribution
Built Distribution
File details
Details for the file drf-common-exceptions-0.1.1.tar.gz
.
File metadata
- Download URL: drf-common-exceptions-0.1.1.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.11 CPython/3.6.7 Linux/4.15.0-34-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9224deb7b5bd1558828effd06bc0dee81434bae4fa08a10b49c57c02dc1911b |
|
MD5 | 784709eb27c3eda3c73d7757ef24df06 |
|
BLAKE2b-256 | 2908c66c1ee0b2a71898a8e99a820308e1008dc1c60ccabcc4148997e5ae2ef5 |
File details
Details for the file drf_common_exceptions-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: drf_common_exceptions-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.11 CPython/3.6.7 Linux/4.15.0-34-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b7ce27f54a58188c24992645465a98d8a5cbb4c7afe8c3b7615b76cecd2c6b8 |
|
MD5 | d85ed195cd8f10d4e34851a995438d58 |
|
BLAKE2b-256 | fa7bda4ec6464bd5e52c841db81f2727888f16e5c168ff878b96217003267340 |