标签:url 格式 property code encode ext data multipart work
在setting中配置
REST_FRAMEWORK = {
‘DEFAULT_RENDERER_CLASSES‘: ( # 默认响应渲染类
‘rest_framework.renderers.JSONRenderer‘, # json渲染器
‘rest_framework.renderers.BrowsableAPIRenderer‘, # 浏览API渲染器
)
}
# 在浏览器访问就是浏览器方式,用postman访问就是json格式,ajax请求就是json格式
局部配置某个视图类的响应格式
# 在视图类中配置
renderer_classes = []
在setting中配置
REST_FRAMEWORK = {
‘DEFAULT_PARSER_CLASSES‘: [
‘rest_framework.parsers.JSONParser‘,
‘rest_framework.parsers.FormParser‘,
‘rest_framework.parsers.MultiPartParser‘
]
}
# 它就只能解析三种请求编码格式(urlencoded,formdata,json)
局部使用
# 在视图类中配置
parser_classes = [FormParser]
方法一:
class MyResponse():
def __init__(self):
self.status = 100
self.msg = None
@property
def get_dict(self):
return self.__dict__
class Test(APIView):
def get(self, request):
response = MyResponse()
# 写一堆逻辑
response.status=101
response.msg=‘失败了‘
response.data={‘name‘: ‘a‘, ‘age‘: 19}
return Response(response.get_dict)
方法二:
from rest_framework.response import Response
class APIResponse(Response):
def __init__(self, code=100, msg=None, data=None, status=None,
template_name=None, headers=None,
exception=False, content_type=None, **kwargs):
dic = {‘status‘: code, ‘msg‘: msg}
if data:
dic[‘data‘] = data
if kwargs:
dic.update(kwargs)
super().__init__(data=dic, status=status,
template_name=template_name, headers=headers,
exception=exception, content_type=content_type)
### 使用,在视图类中
return APIResponse(msg=‘成功了‘,data={‘name‘: ‘a‘, ‘age‘: 19},next=9)
标签:url 格式 property code encode ext data multipart work
原文地址:https://www.cnblogs.com/shof/p/14720702.html