def user_login(request): # Preveriti moramo, če je metoda zahtevka POST, in obdelamo form # drugače serviramo login form if request.method == "POST": form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data["username"] password = form.cleaned_data["password"] user = authenticate(username=username, password=password) if user is not None: if user.is_active: login(request, user) logger.info("User " + str(user) + " successfully logged in.") else: logger.error("User " + user.name + " was disabled") messages.error(request, "User is disabled") else: logger.error("User doesnt exist") messages.error(request, "User doesnt exist") else: logger.error("Invalid login form was submitted") request.session["login_data"] = request.POST return HttpResponseRedirect("/") else: render(request, "nullpointer/login.html")
def home(request): # Check if user has submitted login/register forms to render any errors register_data = request.session.pop('register_data', None) login_data = request.session.pop('login_data', None) latest_questions = Question.objects.order_by("-date_published")[:5] hot_questions = Question.objects.filter( date_published__gte=datetime.datetime.today() - datetime.timedelta(hours=5), votes__gte=2).order_by( "-votes") no_answers_questions = Question.objects.filter(answer__isnull=True)[:5] login_form = LoginForm(login_data) login_form.is_valid() register_form = RegisterForm(register_data) register_form.is_valid() return render(request, "nullpointer/index.html", {"latest_questions": latest_questions, "hot_questions": hot_questions, "no_answers_questions": no_answers_questions, "login_form": login_form, "register_form": register_form})