Python AngularJS$http put请求未调用Django视图函数

Python AngularJS$http put请求未调用Django视图函数,python,angularjs,django,Python,Angularjs,Django,我有一个单击按钮,它应该将一些参数从前端传递到django视图函数 但是,当我使用$http.put时,我的代码不会进入django“action”视图函数 当我使用$http.get时,将访问action view函数,但是我需要使用$http.put来传递前端数据-为什么它不访问action view def <tr ng-repeat="Script in Scripts | filter :{timestamp : datefilter} | orderBy:column:rev

我有一个单击按钮,它应该将一些参数从前端传递到django视图函数

但是,当我使用$http.put时,我的代码不会进入django“action”视图函数

当我使用$http.get时,将访问action view函数,但是我需要使用$http.put来传递前端数据-为什么它不访问action view def

<tr ng-repeat="Script in Scripts | filter :{timestamp : datefilter}  | orderBy:column:reverse ">
    <td>{{ Script.id }}</td>
    <td>{{ Script.script }}</td>
    <td>{{ Script.timestamp }}</td>
    <td>{{ Script.hostname }}</td>
    <td>{{ Script.subject }}</td>
    <td ng-class="{'red':Script.status =='= ISSUE =','green':Script.status == '= OK ='}">{{ Script.status }}</td>
    <td align="center"><button type="button" class="btn btn-default btn-xs" ng-click="actionFun(Script)"></button></td>
</tr>
Django视图代码:

@api_view(['GET', 'POST'])
def action(request):
    import paramiko
    print("Im here")
    if request.method == 'PUT':
        data = request.data
        print(data.get('location'))
        *** Do Some Function ***

您需要在api_视图装饰器参数中包含“PUT”ver:

@api\u视图(['GET','POST','PUT'])


这个列表首先被检查,所以如果api获取了不在列表中的带有签名的方法,那么请求将与该方法不匹配,并且无法执行代码

没有HTTP动词“push”。你是说“put”吗?我也尝试过同样的put-也没有进入def操作(请求)我添加了@api_view(['GET','put','POST','DELETE']),但仍然不起作用。我在Rest api视图集上看到了以下内容:HTTP 200 OK Allow:GET,POST,OPTIONS内容类型:application/json Vary:accept我看到了:“post403控制台日志中的“禁止”
@api_view(['GET', 'POST'])
def action(request):
    import paramiko
    print("Im here")
    if request.method == 'PUT':
        data = request.data
        print(data.get('location'))
        *** Do Some Function ***