How to return result on the same page in django?

How to get the result of a specific request on the same page in django? For example, if my "index.html" has a form with two fields for username and password. In views.py, I check if the values ​​match the fields in db or not. I want to return the string "Login successfull" or "Login Failed" on the same page. Suggest the code you need for views.py and index.html. I am currently checking the values ​​and creating a new page. Please suggest how to return it on the same page. Thanks in advance!

def index(request):
    return render(request, "index.html")
def stage2(request):
    if Verify.objects.filter(usr=request.POST['us'],password=request.POST['pass']) 
         request.session['usr']=request.POST['us']      
         a=request.session['usr']
         dict1={'u':a}          
         return render(request,"success.html",dict1)

     else:
         return render(request,"failed.html")

I want to show the result on the same page ie "index.html"

+4
source share
2

return redirect(request.META['HTTP_REFERER']) URL.

+2

, , django django messages

from django.contrib.auth import authenticate, login
from django.shortcuts import redirect

def my_view(request):
    username = request.POST['username']
    password = request.POST['password']
    user = authenticate(username=username, password=password)
    if user is not None:
        if user.is_active:
            login(request, user)
            # Return a 'disabled account' error message
            return redirect('/')
        else:
            # Return a 'disabled account' error message
            return redirect('/')
    else:
        # Return an 'invalid login' error message.
        return redirect('/')
+1

All Articles