2017-03-18 41 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):