django rest框架的camel-case-json支持
djangorestframework-camel-case2的Python项目详细描述
django rest framework json camelcase
对django rest框架的camel-case-json支持。
注意:这是 djangorestframework-camel-case 目前似乎还没有维护。
安装
在命令行::
$ pip install djangorestframework-camel-case2
将呈现和解析器添加到django设置文件中。
REST_FRAMEWORK={'DEFAULT_RENDERER_CLASSES':('djangorestframework_camel_case2.render.CamelCaseJSONRenderer',# Any other renders),'DEFAULT_PARSER_CLASSES':('djangorestframework_camel_case2.parser.CamelCaseJSONParser',# Any other parsers),}
交换渲染器
默认情况下,包使用rest_framework.renderers.JSONRenderer
。如果你愿意
使用另一个渲染器(唯一可能的选择是
rest_framework.renderers.UnicodeJSONRenderer
,仅在drf<;3.0中可用,必须在django中指定
设置文件。
# ...JSON_CAMEL_CASE={'RENDERER_CLASS':'rest_framework.renderers.UnicodeJSONRenderer'}# ...
下划线大小选项
在https://github.com/krasa/StringManipulation/issues/8#issuecomment-121203018中提出 蛇案有两个惯例。
# Case 1 (Package default)
v2Counter -> v_2_counter
fooBar2 -> foo_bar_2
# Case 2
v2Counter -> v2_counter
fooBar2 -> foo_bar2
默认情况下,包使用第一种情况。要使用第二种情况,请在django设置文件中指定它。
REST_FRAMEWORK={# ...'JSON_UNDERSCOREIZE':{'no_underscore_before_number':True,},# ...}
或者,您可以通过设置json_underscoreize
:
fromdjangorestframework_camel_case2.parserimportCamelCaseJSONParserfromrest_framework.genericsimportCreateAPIViewclassNoUnderscoreBeforeNumberCamelCaseJSONParser(CamelCaseJSONParser):json_underscoreize={'no_underscore_before_number':True}classMyView(CreateAPIView):queryset=MyModel.objects.all()serializer_class=MySerializerparser_classes=(NoUnderscoreBeforeNumberCamelCaseJSONParser,)
运行测试
要运行当前的测试套件,请从项目的根目录执行以下操作
$ python -m unittest discover
更改日志
[未发布]
[0.2.4]
- 将
json_underscoreize
作为类属性添加到CamelCaseJSONParser
中,以支持在同一项目中的数字前加下划线和不加下划线的变量 - 与DRF 3.10结合使用的6个固定导入
[0.2.3]
固定
- 修复了pypi上包中缺少changelog.md的问题
[0.2.2]
更改
- 更新自述文件
移除
- 旧的readme.rst和history.rst
[0.2.1]
添加了
- 支持发电机和其他电磁阀
- json_下划线大小选项,用于更改欠压缩函数的行为
更改
- 更改了包的名称和自述文件
[0.1.0]-2013-12-20
- pypi上的第一个版本。