2017-03-18 28 views
0

我在django中创建了一个小型web应用程序,在这里我发送带有参数的邮件请求。我可以在django日志中清楚地看到url中存在的参数,但在视图中缺少这些参数。django视图中缺失的邮件参数

url:[18/Mar/2017 12:04:18]“POST /login/[email protected] & Password = ******** HTTP/1.1”200 20 view的.py:

if request.method == 'POST': 
    for x in request.POST: 
     print(x) 
    email = request.POST.get("email","") 
    Password = request.POST.get("Password", "") 
    print("email: {0}, password:{1}".format(email, Password)) 
+0

如果下面的回答帮你解决你的问题,将其标记为接受,请 –

回答

0

POST参数的URL里面通过,但GET参数做。

试试这个:

if request.method == 'GET': 
    for x in request.GET: 
     print(x) 
    email = request.GET.get("email","") 
    password = request.GET.get("Password", "") 
    print("email: {0}, password:{1}".format(email, password)) 

而且,由于一个视图中的每个访问是GET之一,那么没有理由这样做if request.method == 'GET':的。但这是另一个问题。

+0

你是对的,POST中的参数不应该在url中。它看起来像是我用来发送请求的POSTMAN chrome应用程序的问题。在使用python请求api它工作。 – Atishay

0

您的要求心不是POST“,导致请求参数正在YOUT获取上下文传递。尝试检查,如果你的<form method='POST'>它的正确形成发个帖子,并且您的视图功能接受只是POST方法,通过传递:

from django.views.decorators.http import require_http_methods 

@require_http_methods(["POST"]) 
def myview(request):