Skip to main content

Camel case JSON support for Django REST framework.

Project description

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

Project details


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 djangorestframework-camel-case-2-0.0.1.tar.gz.

File metadata

  • Download URL: djangorestframework-camel-case-2-0.0.1.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for djangorestframework-camel-case-2-0.0.1.tar.gz
Algorithm Hash digest
SHA256 01034c3c32caf7dfaab4d2bb2e44a402b36d9199e634281cc109cb6073715812
MD5 cc2d855361d837524565d28e4dd678a6
BLAKE2b-256 19e7fd84175c7357bf9a4fd130485ed63aa8743c604dfd7c753e4e355c601b00

See more details on using hashes here.

File details

Details for the file djangorestframework_camel_case_2-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: djangorestframework_camel_case_2-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for djangorestframework_camel_case_2-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 344299096d7e2dfba59f6998cb674f6d320b5bfa92f9a9f7466d9464ef35cddb
MD5 015747409342c3a4104698240c2e0362
BLAKE2b-256 12815b47b56062fbff7a5c45cefdc10c1ea3562e0c5a7058835a5929931812cc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page