Camel case JSON support for Django REST framework.
Project description
====================================
Django REST Framework JSON CamelCase
====================================
.. image:: https://travis-ci.org/vbabiy/djangorestframework-camel-case.png?branch=master
:target: https://travis-ci.org/vbabiy/djangorestframework-camel-case
.. image:: https://badge.fury.io/py/djangorestframework-camel-case.svg
:target: https://badge.fury.io/py/djangorestframework-camel-case
Camel case JSON support for Django REST framework.
============
Installation
============
At the command line::
$ pip install djangorestframework-camel-case
Add the render and parser to your django settings file.
.. code-block:: python
# ...
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'django_rest_framework_camel_case.render.CamelCaseJSONRenderer',
# Any other renders
),
'DEFAULT_PARSER_CLASSES': (
'django_rest_framework_camel_case.parser.CamelCaseJSONParser',
# Any other parsers
),
}
# ...
=================
Swapping Renderer and Parser
=================
By default the package uses `rest_framework.renderers.JSONRenderer` and `rest_framework.parsers.JSONParser`.
If you want to use another renderer or parser, you must specify it in your django settings file.
Currently Support
.. code-block:: python
'RENDERER_CLASS': (
'rest_framework.renderers.JSONRenderer',
'rest_framework.renderers.UnicodeJSONRenderer', # only available in DRF < 3.0
'rest_framework_google_json_style_api.renderers.JSONRenderer',
'rest_framework_json_api.renderers.JSONRenderer',
),
'PARSER_CLASS': (
'rest_framework.parsers.JSONParser',
'rest_framework_google_json_style_api.parsers.JSONParser',
'rest_framework_json_api.parsers.JSONParser',
)
Specify it in your django settings file.
.. code-block:: python
# ...
JSON_CAMEL_CASE = {
'RENDERER_CLASS': 'rest_framework_google_json_style_api.renderers.JSONRenderer',
'PARSER_CLASS': 'rest_framework_google_json_style_api.parsers.JSONParser',
}
# ...
=====================
Underscoreize Options
=====================
As raised in https://github.com/krasa/StringManipulation/issues/8#issuecomment-121203018
there are two conventions of snake case.
.. code-block:: none
# Case 1 (Package default)
v2Counter -> v_2_counter
fooBar2 -> foo_bar_2
# Case 2
v2Counter -> v2_counter
fooBar2 -> foo_bar2
By default, the package uses the first case. To use the second case, specify it in your django settings file.
.. code-block:: python
REST_FRAMEWORK = {
# ...
'JSON_UNDERSCOREIZE': {
'no_underscore_before_number': True,
},
# ...
}
=============
Running Tests
=============
To run the current test suite, execute the following from the root of he project::
$ python -m unittest discover
=======
License
=======
* Free software: BSD license
History
-------
0.1.0 (2013-12-20)
++++++++++++++++++
* First release on PyPI.
Django REST Framework JSON CamelCase
====================================
.. image:: https://travis-ci.org/vbabiy/djangorestframework-camel-case.png?branch=master
:target: https://travis-ci.org/vbabiy/djangorestframework-camel-case
.. image:: https://badge.fury.io/py/djangorestframework-camel-case.svg
:target: https://badge.fury.io/py/djangorestframework-camel-case
Camel case JSON support for Django REST framework.
============
Installation
============
At the command line::
$ pip install djangorestframework-camel-case
Add the render and parser to your django settings file.
.. code-block:: python
# ...
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'django_rest_framework_camel_case.render.CamelCaseJSONRenderer',
# Any other renders
),
'DEFAULT_PARSER_CLASSES': (
'django_rest_framework_camel_case.parser.CamelCaseJSONParser',
# Any other parsers
),
}
# ...
=================
Swapping Renderer and Parser
=================
By default the package uses `rest_framework.renderers.JSONRenderer` and `rest_framework.parsers.JSONParser`.
If you want to use another renderer or parser, you must specify it in your django settings file.
Currently Support
.. code-block:: python
'RENDERER_CLASS': (
'rest_framework.renderers.JSONRenderer',
'rest_framework.renderers.UnicodeJSONRenderer', # only available in DRF < 3.0
'rest_framework_google_json_style_api.renderers.JSONRenderer',
'rest_framework_json_api.renderers.JSONRenderer',
),
'PARSER_CLASS': (
'rest_framework.parsers.JSONParser',
'rest_framework_google_json_style_api.parsers.JSONParser',
'rest_framework_json_api.parsers.JSONParser',
)
Specify it in your django settings file.
.. code-block:: python
# ...
JSON_CAMEL_CASE = {
'RENDERER_CLASS': 'rest_framework_google_json_style_api.renderers.JSONRenderer',
'PARSER_CLASS': 'rest_framework_google_json_style_api.parsers.JSONParser',
}
# ...
=====================
Underscoreize Options
=====================
As raised in https://github.com/krasa/StringManipulation/issues/8#issuecomment-121203018
there are two conventions of snake case.
.. code-block:: none
# Case 1 (Package default)
v2Counter -> v_2_counter
fooBar2 -> foo_bar_2
# Case 2
v2Counter -> v2_counter
fooBar2 -> foo_bar2
By default, the package uses the first case. To use the second case, specify it in your django settings file.
.. code-block:: python
REST_FRAMEWORK = {
# ...
'JSON_UNDERSCOREIZE': {
'no_underscore_before_number': True,
},
# ...
}
=============
Running Tests
=============
To run the current test suite, execute the following from the root of he project::
$ python -m unittest discover
=======
License
=======
* Free software: BSD license
History
-------
0.1.0 (2013-12-20)
++++++++++++++++++
* First release on PyPI.
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
Close
Hashes for django-rest-framework-camel-case-2.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0659cf7dd4bbd92334d9808aa6f6e387cd21448603671bd8124e8d9a7d977a54 |
|
MD5 | 5c88f48a08ca3447c5d52b27715928a6 |
|
BLAKE2b-256 | 95c2352cf2aded17f4f8725c74e4bbd7313860ab59d064c32b7339bfcf8c10dd |
Close
Hashes for django_rest_framework_camel_case-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9b7da2149f4bb5d34e4d40d44b23d853153f212a2a3aae93d62e107b4d34ee5 |
|
MD5 | 09f1dfa20e6e769df830a0f812b28450 |
|
BLAKE2b-256 | e312a62fb454c5671aef5d230d6dbe0afec1c07b5dd813ad77f2da51c93e76ca |