くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

DjangoのRestAPIでsnake_caseをcamelCaseに自動変換

Django+DRFとNuxtで開発するときに、 snake_caseで書いてcamelCaseで受け渡ししたいなと思ったときに調べたときの備忘録

djangorestframework-camel-caseを使うと簡単にできた。

インストール

$ pip install djangorestframework-camel-case

setting.pyの変更

DRFの設定を変更する。
RendererクラスとParserクラスに以下を追加。

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
    ),
}

以上!!

これでよしなに相互変換してくれるので、
Djangoではsnake_case、NuxtではcamelCaseで書けるように(´ω`)

参考にしたサイト様