def login_view(request): getform = LogInForm() if request.method == "POST": form = LogInForm(request.POST) if form.is_valid(): #fetching the form details.................................................................................. username = form.cleaned_data['username'] password = form.cleaned_data['password'] user = UserModel.objects.filter(username = username).first() if user: #authenticating user and creating session............................................................... if check_password(password,user.password): token = SessionToken(user=user) token.create_token() token.save() response = redirect('feed/') response.set_cookie(key='session_token', value=token.session_token) return response else: message = "Wrong Password." return render(request, 'login.html', {'form':getform,"login_error":message}) else: message = "User does not exist." return render(request, 'login.html', {'form':getform,"login_error":message}) #handling form error............................................................................................ else: errors = form.errors return render(request, 'login.html', {'form':getform,"errors":errors}) return render(request, 'login.html', {'form': getform})
def home(request): """View for displaying main page with login form""" if request.method == 'POST': form = LogInForm(request.POST) if form.is_valid(): username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: login(request, user) request.session['username'] = username return HttpResponseRedirect('/') else: return render_to_response('invitation.html', {'form': form, 'error': u'Użytkownik nieaktywny.'}, context_instance=RequestContext(request)) else: return render_to_response('invitation.html', {'form': form, 'error': u'Nieprawidłowy login lub hasło.'}, context_instance=RequestContext(request)) else: form = LogInForm() return render_to_response('invitation.html', {'form': form,}, context_instance=RequestContext(request))