私はDjango Rest Framework APIViewにjsonデータを投稿しようとしています。 私は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:
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から来ていないと思っています。私は何かが私のジャンゴのビューで悪いと思う。
CreatePaymentView
の変数request
を読むと、データは{test_data: 'whatever'}
の代わりに空のJSONになります。
DRFを使用した単純なPOSTを送信するとよいでしょうか?
ブラウザのネットワークタブでリクエストをデバッグできますか?たぶん問題はそこにあります。すべてがあなたのバックエンドコードでうまくいくようだからです。 – lucasnadalutti
@lucasnadaluttiありがとうございました。この問題は、ブレークポイントを持つVisual Studioウォッチ機能から発生しているようです。ブレークポイントでコードを見ずに、すべて正常に動作します。 – Ben