request.POST.get()总是返回None

我对django完全陌生,今天我可以开始

当我使用邮递员使用参数发送POST请求时,我总是对电子邮件,密码,名称和其他变量取得None

@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发布帖子的正文请求

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

低于邮差屏幕截图

在这里输入图像描述


您添加到url的参数是GET参数,而不是POST参数。 POST参数位于请求正文中,并且通过urls不可见。 即使您指定了您的请求方法是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请求如何传递。


我已经尝试过镀铬邮差。 以下是截图。 这对你有用吗?

邮递员在镀铬物


请确保你的邮递员身体参数是正确的,应该是“x-www-form-urlencoded”。 THKS!

链接地址: http://www.djcxy.com/p/41337.html

上一篇: request.POST.get() always returning None

下一篇: encoded parameters in Node.js using request module