当前位置:  开发笔记 > 后端 > 正文

request.POST.get()始终返回None

如何解决《request.POST.get()始终返回None》经验,为你挑选了1个好方法。

我是django的新手,你今天我就可以开始了

当我使用postman使用参数发出POST请求时,我总是收到无电子邮件,密码,名称和其他变量

@csrf_exempt
def signup(request):
    if request.method != 'POST':
        raise Http404
    email = request.POST.get('email')
    password = request.POST.get('password')
    name = request.POST.get('name')
    os = request.POST.get('os')
    device_id = request.POST.get('device_id')
    version = request.POST.get('version')
    device = request.POST.get('device')
    print "email value is = %s", email
    user=AppUser.objects.get_or_create(email=password,password=password)
    user.save()
    return HttpResponse(json.dumps({"result": True}), content_type='application/json')

请帮助,为什么它始终显示无,即使我从POST请求传递电子邮件和其他参数的值

以下是使用POST的post man的正文请求

http://127.0.0.1:8000/v1.0/signup/?email=nagu@nagu.com&password=nagendra&name=nagendra&os=android&device_id=12345678&version=23.0.1&device=samsung

邮差以下屏幕截图

在此输入图像描述



1> Shang Wang..:

您添加到网址的GET参数是参数而不是POST参数.POST参数位于请求正文中,并且不通过网址显示.即使您指定您的请求方法是POST使用您的原始网址,您也不会发送任何数据.

如果您在命令行中执行以下操作:

curl --data "email=nagu@nagu.com&password=nagendra&name=nagendra&os=android&device_id=12345678&version=23.0.1&device=samsung" http://127.0.0.1:8000/v1.0/signup/

它应该将POST数据发送到您的视图.

看看这个SO问题并回答如何POST提出请求.

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有