def user_login(request): """Log in page view in order for the user to access his account""" # if this is a POST request we need to process the form data if request.method == 'POST': # create a form instance and populate it with data from the request: form = LoginForm(request.POST) # check whether it's valid: if form.is_valid(): # process the data in form.cleaned_data and authenticate user with processed data user = authenticate(username=form.cleaned_data['username'], password=form.cleaned_data['password']) if user is not None: # a backend authenticated the credentials if user.is_active: login(request, user) # redirects to user's account return HttpResponseRedirect('/account/') else: messages.error(request, 'Le pseudo ou le mot de passe est incorrect.') # if a GET (or any other method) we'll create a blank form else: form = LoginForm() return render(request, 'app/login.html', {'form': form})
def log_in(request): if request.method == 'POST': login_form = LoginForm(data=request.POST) if login_form.is_valid(): response = {} data = {} user = authenticate(username=request.POST['login_username'], password=request.POST['login_password']) if user: if user.is_active: login(request, user) data['url'] = "http://%s%s" % (request.get_host(), '/') response['success'] = 'success' response['data'] = data return HttpResponse(json.dumps(response), content_type='application/json') else: # User is not active data['errors'] = ["Your Account is disabled"] response['data'] = data response['failed'] = 'failed' return HttpResponse(json.dumps(response), content_type='application/json') else: data['errors'] = ["Invalid login information"] response['data'] = data response['failed'] = 'failed' return HttpResponse(json.dumps(response), content_type='application/json') else: user_form = UserForm() login_form = LoginForm() return render(request, 'public/home.html', {'user_form': user_form, 'login_form': login_form})
def log_in(request): if request.method == 'POST': login_form = LoginForm(data=request.POST) if login_form.is_valid(): response = {} data = {} user = authenticate(username=request.POST['login_username'], password=request.POST['login_password']) if user: if user.is_active: login(request, user) data['url'] = "http://%s%s" % (request.get_host(), '/') response['success'] = 'success' response['data'] = data return HttpResponse(json.dumps(response), content_type='application/json') else: # User is not active data['errors'] = ["Your Account is disabled"] response['data'] = data response['failed'] = 'failed' return HttpResponse(json.dumps(response), content_type='application/json') else: data['errors'] = ["Invalid login information"] response['data'] = data response['failed'] = 'failed' return HttpResponse(json.dumps(response), content_type='application/json') else: user_form = UserForm() login_form = LoginForm() return render(request, 'public/home.html', { 'user_form': user_form, 'login_form': login_form })
def test_login_form(self): """Check that login form is valid""" form_data = {'username': '******', 'password': '******'} form = LoginForm(data=form_data) self.assertTrue(form.is_valid())