def login_view(request): print(request.user.is_authenticated()) title = "Login" form = UserLoginForm(request.POST or None) if form.is_valid(): username = form.cleaned_data.get("username") password = form.cleaned_data.get("password") user = authenticate(username=username, password=password) login(request, user) return render(request, 'index.html') return render(request, "login.html", {"form": form, "title": title})
def user_login(request): #usuário está autenticado e quer acessar a página de login; #O usuário será redirecionado para a página index.; #A página de login só pode ser acessada se o usuário não estiver autenticado no sistema ou #se ele fizer o logout no sistema. if request.user.is_authenticated: return HttpResponseRedirect(reverse('app:index')) #Usuário não está autenticado e solicita seus dados para a realização do acesso if request.method == 'POST': #referente ao campo de usuario presente no formulário HTML username = request.POST.get('usuario') #referente ao campo de senha presente no formulário HTML password = request.POST.get('senha') #Inicialização de valores do objeto UserLoginForm form_login = UserLoginForm(data=request.POST) #Verificar se os dados informados no formúlário de login são válidos. valid = form_login.is_valid() if not valid: #Usuário informou dados que não definem um acesso no sistema #usuario e senha errados #continua na página de login e as mensagem de erros são impressas na tela return render(request, 'app/login.html', {'form_login': form_login}) else: #Testa se os dados informados pelo usuário correspondem a um acesso válido user = form_login.verificar_acesso() #Se os dados forem válidos e o usuário é ativo no sistema, o usuário é autenticado no sistema e #é redirecionado para a página de medidas. if user is not None: if user.is_active: #Autenticando usuário login(request, user) #redirecionamento return HttpResponseRedirect(reverse('app:index')) else: #Acesso não é válido e a página de login juntamentente à mensagens de erros #são renderizadas para o usuário return render(request, 'app/login.html', {'form_login': form_login}) else: form_login = UserLoginForm() return render(request, 'app/login.html', {'form_login': form_login})
def login_view(request): next = request.GET.get('next') form = UserLoginForm(request.POST or None) if form.is_valid(): username = form.cleaned_data.get('login') password = form.cleaned_data.get('password') user = authenticate(username=username, password=password) login(request, user) if next: return redirect(next) return redirect('/') context = { 'form': form, } return render(request, "login.html", context)
def login(request): if request.method == 'GET': return render(request, 'login.html') if request.method == 'POST': #1.表单验证 form = UserLoginForm(request.POST) #使用is_valid()进行表单验证 if form.is_valid(): #form表单验证成功 user = auth.authenticate(username=form.cleaned_data['username'], password=form.cleaned_data['password']) if user: #如果验证通过,进行登录 #request.user默认AnonyMouseUser auth.login(request, user) return HttpResponseRedirect(reverse('app:index')) else: #用户名和密码错误 return render(request, 'login.html', {'form': form}) #2.auth模块验证 #3.auth.login登录 else: #form验证失败,则返回错误信息到页面 return render(request, 'login.html', {'form': form})