示例#1
0
文件: views.py 项目: mandeephp/Quiz
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})
示例#2
0
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})
示例#3
0
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)
示例#4
0
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})