这是我的看法,无法获取POST数据Django的REST框架
@api_view(['GET','POST'])
def login(request):
if request.method == 'GET':
posts = Posts.objects.all()
serializer = PostSerializer(posts, many=True)
return Response(serializer.data)
elif request.method == 'POST':
usr = request.data.get('username')
print(request.data)
pwd = request.data.get('password')
try:
user = Users.objects.get(username=usr)
if user.password == pwd:
return Response(UserSerializer(user).data)
else:
return Response({})
except Users.DoesNotExist:
return Response({})
这是我在angularjs控制器通话
$http.post("api/v1/login/",{"username":$scope.username,"password":$scope.password})
.then(
function(response){
console.log('r',response.data)
},
function(response){
console.log('e',response)
}
);
我在我的view.I得到一个空对象还角度配置添加
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
$httpProvider.defaults.xsrfCookieName = 'csrftoken';
$httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
在一些blog.the request.data
建议仍然empty.Where我做错了认罪我指导我正确。提前感谢。
,因为有一些无关痛痒的code.The问题应该在于code.Please这两个区块帮助 .The获得Ajax请求我已经更新了这个职位是working.Only在文章中,我能得到的任何数据。
我已经按照您的建议添加了,但仍然在'print(response.data)'.getting中获得一个空对象 –
saiyan
请试用MultiPartParser吗? –
MultiPartParser在客户端给我一个错误,说“不支持的媒体类型” – saiyan