A toolkit for Django REST framework to easily switch APIs' naming styles.
Project description
This is a toolkit supporting camel case and snake case APIs’ naming styles and easily switch.
I wrote this with Django 2.0 and Django REST framework 3.7.3, but I think it can easily work with other versions of Django and DRF.
Requirements
- Python (2.7+)
- Django
- Django REST framework
Installation
Install using pip
pip install django-rest-framework-naming-style
Replace renderer and parser classes for JSON in your REST_FRAMEWORK setting
REST_FRAMEWORK = { ... 'DEFAULT_RENDERER_CLASSES': ( 'django_rest_framework_naming_style.renderer.StylesJSONRenderer', # 'rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer', ), 'DEFAULT_PARSER_CLASSES': ( 'django_rest_framework_naming_style.parser.StylesJSONParser', # 'rest_framework.parsers.JSONParser', 'rest_framework.parsers.FormParser', 'rest_framework.parsers.MultiPartParser', ), ... }
Make a monkey patch in django’s manage.py
# Make patching before `execute_from_command_line(sys.argv)` from django_rest_framework_naming_style.monkey import monkey_patch monkey_patch() execute_from_command_line(sys.argv)
Optional Settings
There are settings of this package with default value, options.
REST_FRAMEWORK_NAMING_STYLE = { 'STYLE_KEY': 'STYLE', # set a header key 'STYLE_DEFAULT': 'underscore', # underscore/camelcase }
STYLE_KEY that you set accept a value in request headers between underscore and camelcase to specify one naming style of APIs unless you set style in view object to specify it.
If you set STYLE_KEY None, the style only depends on style in view object or STYLE_DEFAULT as you like.
Thank you for using django-rest-framework-naming-style.
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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size django-rest-framework-naming-style-0.2.tar.gz (3.8 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for django-rest-framework-naming-style-0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ec9a0701f7cfbfa26e8e4db9db0a511b1bdc8b873464b97f5e50e413463631f |
|
MD5 | 26600a2746929a69d5b400ee2f8820e7 |
|
BLAKE2-256 | dbe91d70fbd340b9245f8f20dfa046fd648863fbfb1c5e78385529819a8e4f17 |