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