post - Django Rest Framework APIView 发布数据为空

标签 post view django-rest-framework

我正在尝试将 json 数据发布到我的 Django Rest Framework APIView。 当我使用 DRF api 发布表单时一切正常,但是当我尝试使用外部应用程序(在我的例子中是 Angular2)时,request.data 变量为空。

我的 API View :

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;
        });
  }

我的应用程序的所有其他帖子都运行良好,但我所有其他 View 都是 DRF ModelViewSet,这就是为什么我认为我的错误不是来自 CRF。我怀疑我的 Django View 有问题。

当我在 CreatePaymentView 中读取 request 变量时,数据是一个空的 JSON 而不是 {test_data: 'whatever'}

使用 DRF 发送简单 POST 的最佳做法是什么?

最佳答案

如评论中所述,问题似乎出自带有断点的 Visual Studio 监视功能。无需查看带断点的代码,一切正常。

关于post - Django Rest Framework APIView 发布数据为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40708136/

相关文章:

mysql - 如何确定 Rails 中的多个分组记录?

http - 如何使用 Curl 和 API key 上传到 Google Cloud Storage?

sql - 如何将主体从存储过程传递到 REST 服务?

C#设置上传文件内容类型

java - 矩形不更新也不显示颜色

python - 启动 py.test 后从请求的数据流中读取后无法访问正文

java - 如何在 Android 上使用 HTTPS 对服务器进行 POST 调用

ruby-on-rails - rails : "missing partial" when calling 'render' in RSpec test

Django rest框架: how to turn off/on pagination in ModelViewSet

python - 注册为多用户