from django.contrib.auth import authenticate, login
fro django.shortcuts import render, redirect
def login_view(request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
# Redirect to a success page.
return redirect('/')
...
else:
# Return an 'invalid login' error message.
...
context = {'error':'Invalid username or password.'}
return render(request, '/login.html', context)
#loginView
from django.contrib.auth.views import LoginView
class AdminLogin(LoginView):
template_name = 'LoginView_form.html'
def login_view(request):
if request.method == 'GET':
cache.set('next', request.GET.get('next', None))
if request.method == 'POST':
# do your checks here
login(request, user)
next_url = cache.get('next')
if next_url:
cache.delete('next')
return HttpResponseRedirect(next_url)
return render(request, 'account/login.html')
class Login(LoginView):
template_name = "registration/login.html"
def get_context_data(self, **kwargs):
context = super(Login,self).get_context_data(**kwargs)
page_title = 'Login'
context.update({
"page_title":page_title
})
return context
LOGOUT_REDIRECT_URL = 'your_url'
from django.contrib import messages
from django.contrib.auth import authenticate
from django.contrib.auth.forms import AuthenticationForm
from django.shortcuts import render, redirect
def login_view(request):
if request.method == "POST":
form = AuthenticationForm(request, data=request.POST)
if form.is_valid():
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
user = authenticate(username=username, password= password)
if user is not None:
login(request, user)
messages.info(request, f"You are now logged in as {username}.")
return redirect ('inventory:home')
else:
messages.error(request, "Invalid username or password")
else:
messages.error(request, "Invalid username or password")
form = AuthenticationForm()
return render(request, 'registration/login.html', context={"login_form":form})