简体   繁体   中英

request.POST.get() returning none

I am running a website using Django. I am trying to Login but it is returning none and i am not getting any error. It shows 200 status code.

Here is my views.py code:

def user_login(request):
    datas= {'log':False}
    if request.method == "POST":
        usern=request.POST.get('Username')
        passw=request.POST.get('password')
        response = requests.post(url='http://www.onebookingsystem.com/productionApi/API/Admin/login.php',data={"Username":usern,"password":passw})
        json_data = response.json()
        if json_data['status'] == 1:
            user=authenticate(Username=usern,password=passw)
            login(request,user)
            range_yearly = 0
            range_monthly = 0
            respo = requests.get(url='http://www.onebookingsystem.com/productionApi/API/Admin/admin_dashboard.php')
            data_dash = json.loads(respo.text)

when i am running in POST HTTP request,it shows successfully logged in,but in GET HTTP request, it shows:Status 0 "mobile or password is missing".//required post params is missing.

This is propably because you're using requests without the session storage. You can try it this (untested) way:

def user_login(request):
    # Create client with session storage to store session cookies
    client = requests.Session()

    datas= {'log':False}
    if request.method == "POST":
        usern=request.POST.get('Username')
        passw=request.POST.get('password')

        # client stores session cookie at login
        response = client.post(url='http://www.onebookingsystem.com/productionApi/API/Admin/login.php',data={"Username":usern,"password":passw})

        # you can check that with
        # print(client.cookies)
        json_data = response.json()
        if json_data['status'] == 1:
            user=authenticate(Username=usern,password=passw)
            login(request,user)
            range_yearly = 0
            range_monthly = 0

            # client should be able to access because of its stored session cookie
            respo = client.get(url='http://www.onebookingsystem.com/productionApi/API/Admin/admin_dashboard.php')
            data_dash = json.loads(respo.text)

More information

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM