按照自己的方法来写接口
''' @api_view([ 'POST','GET',]) 允许请求的是get或post方法,这里去掉get那么就不能用get方法请求 @permission_classes((permissions.AllowAny,)) 权限装饰器,如果去掉就无法访问 这里就是自己写的方法,这里用了AssetSerializer rest的序列化方法和Response展示的方法 ''' @api_view([ 'POST','GET',]) @permission_classes((permissions.AllowAny,)) def AssetList(request): if request.method == 'GET': asset_list = models.Asset.objects.all() #rest 方法AssetSerializer(asset_list,many=True) serializer = AssetSerializer(asset_list,many=True) print serializer.data #django 中并没有Response这个方法而是rest 封装的 return Response(serializer.data) elif request.method == 'POST': serializer = AssetSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
如果这样定义就无法在api页面中查询到了,页面中就没有http://localhost/api/asset_list/ 这个链接
自定义的结果也是可以正常返回的