【问题标题】:Django REST framework request dataDjango REST 框架请求数据
【发布时间】:2013-11-07 16:02:28
【问题描述】:

我正在使用 DJango REST 框架编写我的 Web 服务层,我想在该层中从请求 (POST) 中读取请求负载。我尝试了以下代码,但我得到了空集

@api_view(['POST'])
def login(request):
    print request.POST

内容类型为 JSON。我试图从 REST 客户端工具传递数据。仍然能够读取标头值,但只有 Payload 没有出来。

【问题讨论】:

  • 您能否提供更多关于您如何发送 POST 请求的详细信息?你试过调试检查request吗?
  • curl -X POST -H "Content-Type: application/json" -d ' { "name": "siva", }' 127.0.0.1:8000/authentication/login 当我 print.POST 我得到 ""
  • 您可能也遇到了 CSRF 问题,您是否免除了使用 csrf 的视图?

标签: django django-rest-framework


【解决方案1】:

您应该使用request.DATA 而不是request.POST 来检索json 数据。

自 3.0 版起,request.DATA 已被弃用,取而代之的是 request.data,自 3.2 版起已完全删除。

【讨论】:

  • 谢谢 .. 问题出在缓存上。早些时候我尝试过 request.DATA 但它没有成功。现在它可以工作了。
  • request.DATA 已被弃用,取而代之的是 request.data
  • request.DATA 打印所有变量但想要一个变量值我可以这样做吗?
  • 您应该使用 request.data['username'] 来获取特定变量的值。在这里你可以随意替换任何变量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-31
  • 2015-06-18
  • 1970-01-01
  • 2017-05-22
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多