Django REST Framework JSON CamelCase
Camel case JSON support for Django REST framework.
Installation
At the command line::
pip install djangorestframework-camel-case-2
Add the render and parser to your django settings file.
# ...
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'djangorestframework_camel_case.render.CamelCaseJSONRenderer',
'djangorestframework_camel_case.render.CamelCaseBrowsableAPIRenderer',
# Any other renders
),
'DEFAULT_PARSER_CLASSES': (
# If you use MultiPartFormParser or FormParser, we also have a camel case version
'djangorestframework_camel_case.parser.CamelCaseFormParser',
'djangorestframework_camel_case.parser.CamelCaseMultiPartParser',
'djangorestframework_camel_case.parser.CamelCaseJSONParser',
# Any other parsers
),
}
# ...
Swapping Renderer
By default the package uses rest_framework.renderers.JSONRenderer. If you want
to use another renderer (the only possible alternative is
rest_framework.renderers.UnicodeJSONRenderer, only available in DRF < 3.0), you must specify it in your django
settings file.
# ...
JSON_CAMEL_CASE = {
'RENDERER_CLASS': 'rest_framework.renderers.UnicodeJSONRenderer'
}
# ...
Underscoreize Options
As raised in https://github.com/krasa/StringManipulation/issues/8#issuecomment-121203018 there are two conventions of snake case.
# 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.
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::
make test
License
- Free software: BSD license
Release files for djangorestframework-camel-case-2 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| djangorestframework-camel-case-2-0.0.1.tar.gz | 4.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| djangorestframework_camel_case_2-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.9 kB
Release files / djangorestframework-camel-case-2-0.0.1.tar.gz
| Download URL | djangorestframework-camel-case-2-0.0.1.tar.gz |
|---|---|
| Size | 4.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
01034c3c32caf7dfaab4d2bb2e44a402b36d9199e634281cc109cb6073715812
|
|
BLAKE2b-256 checksum How to use checksums |
19e7fd84175c7357bf9a4fd130485ed63aa8743c604dfd7c753e4e355c601b00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4
|
Release files / djangorestframework_camel_case_2-0.0.1-py3-none-any.whl
| Download URL | djangorestframework_camel_case_2-0.0.1-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
344299096d7e2dfba59f6998cb674f6d320b5bfa92f9a9f7466d9464ef35cddb
|
|
BLAKE2b-256 checksum How to use checksums |
12815b47b56062fbff7a5c45cefdc10c1ea3562e0c5a7058835a5929931812cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4
|