一、自定義APIResponse
重寫父類Response的__init__方法
from rest_framework.response import Response
class APIResponse(Response):
def __init__(self, data_status=0, data_msg='ok', results=None, http_status=None, headers=None, exception=False, **kwargs):
# data的初始狀態:狀態碼和狀態信息
data = {
'status': data_status,
'msg': data_msg,
}
# data的響應數據體
# results可能是false、0等數據,這些數據某些情況下也會作爲合法數據返回
if results is not None:
data['results'] = results
# data響應的其他內容
# if kwags is not None:
# for k, v in kwargs.items():
# setattr(data, k, v)
data.update(kwargs)
super().__init__(data=data, status=http_status, headers=headers, exception=exception)
# 重寫父類的__init__方法
二、在views.py中使用APIResponse
導入
from utils.response import APIResponse
使用
return APIResponse(1, 'ok', result_list)