相关疑难解决方法(0)

如何覆盖django rest框架(DRF)中的Response类?

我想覆盖Responsedjango rest框架的类,以便响应回响应字典包含三个参数message,status并且data

你好亲爱的

我试图改变Response ClassDRF传递两个额外的参数(消息,状态)加上数据通过DRF串行提供.message传消息等Done,User Created或等和status将消息传递等failsuccess或等消息,并且该消息用于前端和后端之间储备特殊码是有用的.

我想如果不设置此参数返回空字符或null结果返回客户端

例如,在成功模式中:

{
    'data': {
        'value_one': 'some data',
        'value_two': 'some data',
        'value_three': [
                'value', 'value', 'value'
            ],
        },
    }
    'message': 'Done',
    'status': 'success',
}
Run Code Online (Sandbox Code Playgroud)

并在故障模式下:

{
    'data': ['any error message raise by serializer',]
    'message': 'Create User Failed',
    'status': 'failure',
}
Run Code Online (Sandbox Code Playgroud)

我搜索了我的问题并找到了这个解决方案:

如果我DRF Response Class在我的类中继承并覆盖__init__方法并在此方法中获取消息,数据和状态,并使用自己的数据结构调用父类的init,并在我的功能中使用此响应类,如此工具:

from …
Run Code Online (Sandbox Code Playgroud)

python django response django-generic-views django-rest-framework

6
推荐指数
3
解决办法
1871
查看次数