def login_view(request): # Logins in user if request is valid. if request.user.is_authenticated: return redirect(reverse('show_all')) if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data['username'] pw = form.cleaned_data['password'] user = authenticate(username=username, password=pw) if user is not None: if user.is_active: login(request, user) return redirect(reverse('show_all')) else: form.add_error('username', 'This account has been disabled.') else: form.add_error('username', 'Login failed') else: form = LoginForm() return render(request, 'registration/login.html', {'form': form})
def post(self, request): """登录表单提交处理,用户名密码匹配跳转到首页,否则回到登录页显示错误""" login_form = LoginForm(request.POST) if login_form.is_valid(): data = login_form.cleaned_data name = data.get('name') password = data.get('password') user = User.objects.filter(name=name).first() if user and check_password(password, user.password): request.session['user'] = user.to_dict() return redirect(reverse('blog:index')) else: login_form.add_error(forms.NON_FIELD_ERRORS, '用户名或密码错误') return render(request, 'login.html', {'form': login_form})
def login_view(request): if request.method == "POST": form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data['username'] pw = form.cleaned_data['password'] user = authenticate(username=username, password=pw) if user is not None: login(request, user) return HttpResponseRedirect('/home') else: form.add_error('username', 'Login Failed') else: form = LoginForm() context = {'form': form} http_response = render(request, 'login.html', context) return HttpResponse(http_response)
def login_view(request): if request.user.is_authenticated: return HttpResponseRedirect("/home") if request.method == "POST": form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data["username"] pw = form.cleaned_data["password"] user = authenticate(username=username, password=pw) if user is not None: login(request, user) return redirect("home") else: form.add_error("username", "Login failed") else: form = LoginForm() context = {"form": form} http_response = render(request, "login.html", context) return HttpResponse(http_response)
def login_view(request): if request.user.is_authenticated: return redirect('home') if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data['username'] pw = form.cleaned_data['password'] user = authenticate(username=username, password=pw) if user is not None: login(request, user) return redirect('home') else: form.add_error('username', 'Login failed') else: form = LoginForm() context = { 'form': form } return render(request, 'login.html', context)