【问题标题】:Django rest framework : How to accept only json data?Django 休息框架:如何只接受 json 数据?
【发布时间】:2015-12-20 11:23:48
【问题描述】:

我希望我的 Django REST 框架 API 只接受 Json 数据。所以我将其设置为默认设置。

REST_FRAMEWORK = {
    ...
    'DEFAULT_PARSER_CLASSES': [
        'rest_framework.parsers.JSONParser',
    ],
}

但视图仍在接受多部分表单数据和 x-www-form-urlencoded。

如果我在视图中设置 MultiPartParser,则只接受多表单数据,如果我在视图中设置 JSONParser,则多表单数据和 json 都被接受。

我怎样才能让它在默认情况下只接受 json 数据,并且只接受我上传文件的视图的多部分?

【问题讨论】:

  • Setting the parsers为不同的视图设置不同的解析器。
  • 我正在使用您的确切设置并且它有效,您可能有某种插件可以为您的视图设置parser_classes

标签: django django-rest-framework


【解决方案1】:

如果我理解正确,您需要在这样的设置中指定 REST_FRAMEWORK 变量

REST_FRAMEWORK = {
    ...
    'DEFAULT_PARSER_CLASSES': [
        'rest_framework.parsers.JSONParser',
    ],

}

【讨论】:

  • 您好,我的设置格式相同。使用 [ 而不是 ( 没有任何效果。编辑问题以反映这一点。
  • 您还可以使用parser_classes = (JSONParser, ) 为每个视图接受不同的解析器。
猜你喜欢
  • 1970-01-01
  • 2013-04-08
  • 2021-11-26
  • 1970-01-01
  • 2015-02-25
  • 2016-04-25
  • 2016-03-23
相关资源
最近更新 更多