1
我试图将json数据发布到我的Django Rest Framework APIView。 当我使用DRF API后表单时,所有的工作都很好,但是当我尝试使用外部应用程序(Angular2在我的情况下)时,request.data
变量是空的。Django Rest Framework APIView发布数据为空
我APIView:
class CreatePaymentView(views.APIView):
def post(self, request, *args, **kwargs):
print(request.data)
return None
我的网址:
url(r'payment/create', views.CreatePaymentView.as_view(), name='CreatePayment'),
我Angular2后:
createPayment(): Observable<any> {
let body = JSON.stringify({test_data: 'whatever'});
let headers = new Headers({
'Content-Type': 'application/json',
'X-CSRFToken': this.cookiesService.csrftoken,
'Authorization': `Token ${this.logged.user.token}`
});
let options = new RequestOptions({ headers: headers });
return this.http.post(environment.server_url_api + 'payment/create/', body, options)
.map(response => {
return response;
});
}
我所有的应用程序的其他职位工作得很好,但我所有的其他意见是DRF ModelViewSet,这就是为什么我调整我的错误不是来自CRF。我怀疑django视图有什么不好的地方。
当我读取我的CreatePaymentView
中的request
变量时,数据是空的JSON而不是{test_data: 'whatever'}
。
使用DRF发送简单POST的最佳做法是什么?
您可以在浏览器的网络选项卡中调试请求吗?也许问题出在那里,因为后端代码中的一切看起来都很好。 – lucasnadalutti
谢谢@lucasnadalutti您的评论。看起来问题来自带有断点的Visual Studio监视功能。没有看断点的代码,一切正常。 – Ben