예제 #1
0
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})
예제 #2
0
 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})
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
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)