我使用Angular$http向django发布数据,但django没有接收到它。我肯定是误用了$http(因为这可以与ajax一起工作),或者我的django视图是错误的。在
<div ng-controller="mycontroller2">
<form ng-submit="submit()">
{% csrf_token %}
Search by name:<input ng-model="artiste" />
<input type="submit" value="submit" />
</form>
<table>
<tr ng-repeat="artist in artists">
<td> {({ artist.fields.link })} </td>
</tr>
</table>
</div>
<script>
artApp.controller('mycontroller2', ['$scope', '$http',
function($scope, $http){
$scope.submit = function(){
var postdata = {
method: 'POST',
url: '/rest/',
data: {
"artiste": $scope.artiste
},
headers: {
'X-CSRFTOKEN': "{{ csrf_token }}"
}
};
$http(postdata)
.success(function(data){
$scope.artists = data;
})
}
}]);
</script>
中的请求处理程序视图.py看起来像
^{pr2}$我从Django得到的错误是ValueError at /rest/ Cannot use None as a query value
。在
我获取“artiste”值的调用一定不是从$http
data
对象返回'davinci'。我确信发送成功,因为数据artiste: da vinci
显示在devtools的头中。Django没有得到这个价值。request.POST.get("artiste")
呼叫有问题吗?在
因为来自我的
$http
请求的数据是raw json data,所以我的Django请求处理程序必须进行更改才能处理。现在函数(在视图.py)看起来像相关问题 更多 >
编程相关推荐