Python AngularJS$http put请求未调用Django视图函数
我有一个单击按钮,它应该将一些参数从前端传递到django视图函数 但是,当我使用$http.put时,我的代码不会进入django“action”视图函数 当我使用$http.get时,将访问action view函数,但是我需要使用$http.put来传递前端数据-为什么它不访问action view defPython 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
<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 ***