Ejemplo n.º 1
0
class LoginView(TemplateView):
    form = None
    template_name = "login.html"

    def get(self, request, *args, **kwargs):
        self.form = LoginForm()
        return super(LoginView, self).get(request, *args, **kwargs)

    def get_context_data(self, **kwargs):
        context = super(LoginView, self).get_context_data(**kwargs)
        context["form"] = self.form
        return context

    def post(self, request, *args, **kwargs):
        self.form = LoginForm(request.POST)
        if self.form.is_valid():
            user = authenticate(username=self.form.cleaned_data["username"],
                                password=self.form.cleaned_data["password"])
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return redirect("master")
                else:
                    return super(LoginView, self).get(request, *args, **kwargs)
            else:
                return super(LoginView, self).get(request, *args, **kwargs)
        else:
            return super(LoginView, self).get(request, *args, **kwargs)
Ejemplo n.º 2
0
def login_view(request):  # функция авторизации
    template = 'app/login.html'  # шаблон для входа в учетку
    msg = None
    if request.method == 'POST':  # если послываем данные на сервер
        form = LoginForm(request.POST)  # используем форму для авторизации
        if form.is_valid(
        ):  # проверяет данные формы и возвращает True, если данные корректны
            username = form.cleaned_data[
                'username']  # правильно обрабатывает введенные в поле данные
            password = form.cleaned_data['password']
            user = authenticate(
                username=username,
                password=password)  # проверить набор учетных данных
            if user is not None and user.is_active:  # если данные пользователя верны и user.is_active = True
                auth.login(request, user)  # залогиниить пользователя
                return redirect('main')  # вернуться на главную страницу
            else:  # если данные пользователя не верны
                form = LoginForm()  # возвращается пустая форма
                msg = 'Данные для входа введены неправильно'  # возвращается сообщение, которое выведтся рядом с формой
    else:  # если метод не POST
        form = LoginForm()  # то возвращается пустая форма

    context = {
        'form': form,  # возвращает форму
        'msg': msg  # возвращает сообщение
    }
    return render(
        request, template,
        context)  # страница просто перезагружается и возвращает сообщение
Ejemplo n.º 3
0
def login(request):
    if request.method == 'POST':
        prev = request.POST.get('next', '/')
        form = LoginForm(data=request.POST)
        if form.is_valid():
            user = auth.authenticate(request, **form.cleaned_data)
            if user is not None:
                auth.login(request, user)
                return redirect(prev)

            return render(
                request, 'signin.html', {
                    'is_wrong': True,
                    'error': 'Incorrect login or password',
                    **tags_and_users,
                })

        return render(
            request, 'signin.html', {
                'is_wrong': True,
                'error': 'Incorrect login or password',
                **tags_and_users,
            })

    return render(request, 'signin.html', {
        'is_wrong': False,
        **tags_and_users,
    })
Ejemplo n.º 4
0
def login_user(request):
    if request.user.is_authenticated:
        # redirect to shop
        return redirect('/shop/men')
    else:
        error = None
        if request.method == 'POST':
            form = LoginForm(request.POST)
            if form.is_valid():
                email = form.cleaned_data['email']
                password = form.cleaned_data['password']
                # check is email exists
                if User.objects.filter(email=email).exists():
                    user = authenticate(username=email, password=password)
                    # if user not null login
                    if user is not None:
                        login(request, user)
                        return redirect('/shop/men/')
                    else:
                        error = 'Email or password is incorrect'
                else:
                    error = 'Email does not exist'
            else:
                error = 'Form details are invalid.'
        else:
            form = LoginForm()
        context = {'form': form, 'error': error, 'logged_in': False}
        return render(request, 'app/login.html', context)
Ejemplo n.º 5
0
def login(request):
    """Renders the login page"""
    try:
        assert isinstance(request, HttpRequest)
        if 'email' in request.session:
            return HttpResponseRedirect('/booking')
        elif request.method == 'POST':
            form = LoginForm(request.POST)
            if (form.is_valid()):
                email = form.cleaned_data['email']
                password = form.cleaned_data['password']
                login_cred = UserDetails.objects.filter(email=email).values()
                details = login_cred[0]
                if email == details['email'] and sha256_crypt.verify(
                        password, details['password']):
                    if 'email' not in request.session:
                        request.session['email'] = email
                        request.session['hotel'] = 'Royal Grand'
                    return HttpResponseRedirect('/booking')
                else:
                    messages.warning(
                        request, 'Invalid email/password, Please try again!')
                    return render(request, 'app/login.html')
        else:
            form = LoginForm()
        return render(request, 'app/login.html')
    except:
        return render(request, 'app/index.html')
Ejemplo n.º 6
0
 def post(self, request):
     form = LoginForm(None, request.POST or None)
     if form.is_valid():
         login_user(request, form.get_user())
         return redirect('index', permanent=True)
     else:
         return render(request, self.template_name, {'login_form': form})
Ejemplo n.º 7
0
 def post(self, request):
     form = LoginForm(None, request.POST or None)
     if form.is_valid():
         login_user(request, form.get_user())
         return redirect('index', permanent=True)
     else:
         return render(request, self.template_name, {'login_form': form})
Ejemplo n.º 8
0
def login_user(request):
    if request.user.is_authenticated:
        return redirect('home')

    if request.method == "GET":
        form = LoginForm()
        context = {
            'form': form
        }
        return render(request, 'login.html', context)
    else:
        form = LoginForm(request.POST)

        redirect_url = request.POST.get('next')
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = authenticate(username=username, password=password)

            if user:
                login(request, user)
                return redirect(redirect_url if redirect_url else 'home')
            else:
                context = {
                    'error': 'Wrong username or password!'
                }

                return render(request, 'login.html', context)
        else:
            context = {
                'form': form
            }

            return render(request, 'login.html', context)
Ejemplo n.º 9
0
class Login(TemplateView):
    template_name = "auth/login.html"

    def get(self, request, *args, **kwargs):
        if self.request.user.is_authenticated:
            return redirect("delegate",
                            delegate_slug=self.request.user.delegate.slug)
        self.form = LoginForm()
        return super().get(request, *args, **kwargs)

    def post(self, request, *args, **kwargs):
        self.form = LoginForm(request.POST)
        if self.form.is_valid():
            password = self.form.cleaned_data["password"]
            email = self.form.cleaned_data["email"]
            user = authenticate(email=email, password=password)
            if not user:
                self.form.add_error(
                    None,
                    "Please enter a correct email and password. Note that both fields "
                    "are case-sensitive.",
                )
            elif not user.is_active:
                self.form.add_error(None, "Sorry, this account is inactive.")
            else:
                login(request, user)
                return redirect("delegate", delegate_slug=user.delegate.slug)
        return super().render_to_response(self.get_context_data())

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)

        context.update({"form": self.form})

        return context
Ejemplo n.º 10
0
def sistema_ingreso_usuario(request):
    if service.validar_cookie(request):
        return redirect('sistema_administracion')
    else:
        if request.method == 'POST':
            form = LoginForm(request.POST)
            if form.is_valid():
                data = form.cleaned_data
                username = data['nombre_usuario']
                password = function.md5_encode(data['clave'])
                if service.ingreso_usuario(username, password):
                    nombre_tipo = service.detectar_tipo_usuario(username)
                    message_text = function.mensaje(
                        "Login", "Bienvenido a la administracion " +
                        nombre_tipo + " " + username, "success")
                    messages.add_message(request, messages.SUCCESS,
                                         message_text)
                    request.session['login'] = service.generarSesion(
                        username, password)
                    return redirect('sistema_administracion')
                else:
                    message_text = function.mensaje("Login", "Login invalido",
                                                    "warning")
                    messages.add_message(request, messages.SUCCESS,
                                         message_text)
                    return redirect('sistema_login')
            else:
                message_text = function.mensaje("Login", "Faltan datos",
                                                "warning")
                messages.add_message(request, messages.SUCCESS, message_text)
        return render(request, 'login/index.html', {'form': LoginForm()})
Ejemplo n.º 11
0
def login_view(request):
    elem = {
        'title':'Login',
    }
    #inloggade användare behöver inte se login view
    if request.user.is_authenticated():
        return HttpResponseRedirect('/home/')
    if request.method == 'POST':
        loginform = LoginForm(request.POST)
        loginAuth(request)
        if loginform.is_valid():
            if request.user.is_authenticated():
                #endast för admin, som saknar user profile från början, underlättar testning
                up = UserProfile.objects.filter(user=request.user)
                if not up.exists():
                    new_profile = UserProfile(user=request.user, description=16*"admin")
                    new_profile.save()
                return HttpResponseRedirect('/home/')
        else:
            return HttpResponseRedirect('')    
            loginform = LoginForm()
            elem.update({'error':'inloggning misslyckades','login_form':loginform})
            print "aha"
            return render_to_response("login.html",elem,context_instance=RequestContext(request))
    else:
        loginform = LoginForm()
    elem.update({'login_form':loginform})
    return render_to_response("login.html",elem,context_instance=RequestContext(request))
Ejemplo n.º 12
0
def login_view(request):
    if request.user.is_authenticated():
        if request.GET.get('next'):
            return redirect(request.GET['next'])
        else:
            return redirect('dashboard')

    if request.method == 'POST':
        form = LoginForm(data=request.POST)
        if form.is_valid():
            user = form.login(request)
            if user:
                if user.is_active:
                    auth_login(request, user)
                    messages.success(request, 'Ingresaste con exito.')
                    if request.GET.get('next'):
                        return redirect(request.GET['next'])
                    else:
                        return redirect('dashboard')
    else:
        form = LoginForm()

    return render(request, 'login.html', {
        'form': form,
    })
Ejemplo n.º 13
0
def login(request):
    redirected_path = request.GET.get('next', '/')
    form = LoginForm(request.POST or None)

    if request.POST and form.is_valid():
        user = form.get_user()
        auth.login(request, user)
        return redirect(redirected_path)
    return render(request, 'create_form.html', {'form': form})
Ejemplo n.º 14
0
def login(request):
    if request.method == 'POST':
        form = LoginForm(request=request, data=request.POST)
        if form.is_valid():
            auth.login(request, form.get_user())
            logger.info(log_username(request) + " вошёл")
            return redirect('home')
    else:
        form = LoginForm()
    return render(request, 'app/login.html', {'form': form})
Ejemplo n.º 15
0
 def post(self, request):
     form = LoginForm(request.POST)
     if form.is_valid():
         user = authenticate(username=form['login'].value(),
                             password=form['password'].value())
         if user:
             login(request, user)  # logujemy
             return redirect('landing-page')
             # jeśli uda się zalogować przerzuca nas na główną stronę
         return render(request, 'app/login.html')
         # jeśli nie uda się zalogować wraca na formularz
     return render(request, 'app/login.html')
Ejemplo n.º 16
0
def login(request,*kwargs):
    
    form = LoginForm(request.POST if request.POST else None)
    if form.is_valid():
        login = RetailerLogin(request)
        if( login.makeLogin(form) ):
            return redirect('retailer-home-view')
        else:
            errors = form._errors.setdefault("systemerror", ErrorList())
            errors.append(u'Dados de login Invalidos')
    return render(request, 'retailer/login.html', {
        'form': form, 
    },)
Ejemplo n.º 17
0
def user_login(request):
    form = LoginForm(request = request)
    if request.method == "POST":
         form = LoginForm(request.POST, request = request)
         if form.is_valid():
             if request.session.has_key('next_view'):
                if not (request.session['next_view'] == ""
                        or request.session['next_view'] == None):
                    next_view = request.session["next_view"]
                    del(request.session["next_view"])
                    return HttpResponseRedirect(next_view)
    return render_to_response("login.html",
            context_instance = RequestContext(request,
                {"login_form" : form}))
Ejemplo n.º 18
0
def login_page(request):
    if request.method == "GET":
        form = LoginForm()
        if request.GET.get('next') is not None:
            request.session['next_page'] = request.GET.get('next')
    else:
        form = LoginForm(data=request.POST)
        next_page = request.session.pop('next_page', '/')
        if form.is_valid():
            user = auth.authenticate(request, **form.cleaned_data)
            if user is not None:
                auth.login(request, user)
                return redirect(next_page)
    return render(request, "login_page.html", {'form': form})
Ejemplo n.º 19
0
def login(request):
    username = "******"

    if request.method == "POST":
        # Get the posted form
        MyLoginForm = LoginForm(request.POST)

        if MyLoginForm.is_valid():
            username = MyLoginForm.cleaned_data['username']

    else:
        MyLoginForm = Loginform()

    return render(request, 'loggedin.html', {"username": username})
Ejemplo n.º 20
0
def makelogins(request):
    MyLoginForm = LoginForm(request.POST)

    if MyLoginForm.is_valid():
        email = MyLoginForm.clean_message()
        password = MyLoginForm.cleaned_data['password']
        login = Login.objects.get(email=email)

        if not pbkdf2_sha256.verify(password, login.password):
            return HttpResponse('wrong password')
        if login.category == "STUDENT":
            context = {
                'posts':
                Post.objects.all(),
                'events':
                Event.objects.all(),
                'account':
                Student.objects.select_related().get(
                    account__login__email=email),
                'students':
                Student.objects.all(),
            }

        elif login.category == "PROFESSOR":
            context = {
                'posts':
                Post.objects.all(),
                'events':
                Event.objects.all(),
                'account':
                Professor.objects.select_related().get(
                    account__login__email=email),
                'students':
                Student.objects.all(),
            }

        request.session['start'] = True
        request.session['email'] = email
        request.session['category'] = login.category
        request.session.save()

    else:
        return HttpResponse('form invalid')

    if not login.verified:
        return render(request, 'verification.html', context)

    else:
        return render(request, 'redir.html', {})
Ejemplo n.º 21
0
def login_view(request):
    if request.user.is_authenticated():
        return redirect(reverse('profile'))

    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            user = authenticate(email=form.cleaned_data['email'], password=form.cleaned_data['password'])
            if user:
                login(request, user)
                return redirect(reverse('index'))
    else:
        form = LoginForm()

    return render(request, 'app/user/login.html', context={'form': form})
Ejemplo n.º 22
0
def login_user(request):
    """
    Login request handler
    """
    response = reply_object()
    form = LoginForm(request.POST, request=request)

    if form.is_valid():
        response["code"] = settings.APP_CODE["LOGIN"]
        response["next_view"] = reverse('home')
    else:
        response["code"] = settings.APP_CODE["FORM ERROR"]
        response["errors"] = form.errors

    return HttpResponse(simplejson.dumps(response))
Ejemplo n.º 23
0
def login_user(request):
    """
    Login request handler
    """
    response = reply_object()
    form = LoginForm(request.POST, request=request)

    if form.is_valid():
        response["code"] = settings.APP_CODE["LOGIN"]
        response["next_view"] = reverse('home')
    else:
        response["code"] = settings.APP_CODE["FORM ERROR"]
        response["errors"] = form.errors

    return HttpResponse(simplejson.dumps(response))
Ejemplo n.º 24
0
def login(request):
    if request.user.is_authenticated:
        return HttpResponseRedirect('/')
    form = LoginForm(request.POST or None)
    if form.is_valid():
        username = form.cleaned_data['username']
        password = form.cleaned_data['password']
        user = authenticate(request, username=username, password=password)
        if user is not None:
            user_logout(request)
            user_login(request, user)
        return HttpResponseRedirect('/')
    return render(request, 'login.html', {
        'form': form,
    })
Ejemplo n.º 25
0
def login_view(request):
    bad_attempt = False
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["login"]
            password = form.cleaned_data["password"]
            user = authenticate(username=username, password=password)
            if user:
                login(request, user)
                return HttpResponseRedirect(reverse("rooms.views.list"))
            else:
                bad_attempt = True
    else:
        form = LoginForm()
    return {"form": form, "bad_attempt": bad_attempt}
Ejemplo n.º 26
0
def login(request):
    page = request.GET.get('stay', '/')  # TODO
    if request.method == 'GET':
        form = LoginForm()
    else:
        redirect_to = request.GET.get('continue', '/')
        form = LoginForm(data=request.POST)
        if form.is_valid():
            user = auth.authenticate(request, **form.cleaned_data)
            request.session['hello'] = 'world'  # TODO
            auth.login(request, user)
            return redirect(redirect_to)

    redirect_to = request.GET.get('continue', '/')
    ctx = {'form': form, 'redirect_to': redirect_to}
    return render(request, 'login.html', ctx)
Ejemplo n.º 27
0
def login(request):
    if request.method == 'GET':
        form = LoginForm()
    else:
        form = LoginForm(data=request.POST)
        if form.is_valid():
            user = auth.authenticate(request, **form.cleaned_data)
            if user is not None:
                auth.login(request, user)
                return redirect('/index')
    tags = Tag.objects.get_popular()
    return render(request, 'login.html', {
        'user': request.user,
        'form': form,
        'tags': tags,
    })
Ejemplo n.º 28
0
def login_view(request):
    html = 'login.html'

    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request,
                                username=data['username'],
                                password=data['password'])
            if user:
                login(request, user)
                return HttpResponseRedirect(
                    request.GET.get('next', 'index.html'))
    form = LoginForm()
    return render(request, html, {'form': form})
Ejemplo n.º 29
0
def login(request):
    form = LoginForm(request.POST or None)
    if request.method == 'POST':
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            user = authenticate(username=email, email=email, password=password)
            if user is not None:
                auth_login(request, user)
                if user.userprofile.first_login == 1:
                    return redirect('/user_data')
                return redirect('/index')
    context = {
        'form': form,
    }
    return render(request, 'login.html', context)
Ejemplo n.º 30
0
def login(request):
    if request.method == 'GET':
        form = LoginForm()
    elif request.method == 'POST':
        form = LoginForm(data=request.POST)
        if form.is_valid():
            user = auth.authenticate(request, **form.cleaned_data)
            if user is not None:
                auth.login(request, user)
                value_next = request.POST.get('next')
                if value_next is not None and value_next != '' and value_next != '/login/':
                    return redirect(value_next)
                else:
                    return redirect('/')
            else:
                messages.error(request, 'username or password is not correct')
    return render(request, 'login.html', {'form': form})
Ejemplo n.º 31
0
def mostrar_login(request):
    formulario_login = LoginForm(request.POST or None)
    msg = ' '
    if formulario_login.is_valid():
        usuario = formulario_login.cleaned_data['usuario']
        senha = formulario_login.cleaned_data['senha']
        user = Usuaria.objects.filter(usuaria=usuario).first()

        if not user or user.senha != senha:
            msg = 'Verifique novamente.'
        else:
            return redirect('/areas')

    return render(request, 'login3.html', {
        'form': formulario_login,
        'msg': msg
    })
Ejemplo n.º 32
0
def login_view(request):
    form = LoginForm(request.POST or None)
    context = {}
    context['form'] = form

    if form.is_valid():
        email = form.cleaned_data['email']
        password = form.cleaned_data['password']
        print(password)
        # email = User.objects.get(email=email).email

        login_user = authenticate(email=email, password=password)
        if login_user:
            login(request, login_user)
            return HttpResponseRedirect(reverse('main_page'))

    return render(request, 'app/login.html', context)
Ejemplo n.º 33
0
def user_login(request):
    if request.POST:
        form = LoginForm(data=request.POST, files=request.FILES)
        if form.is_valid():
            logged_in_user = form.save()
            if logged_in_user.is_active == 1:
                login(request, logged_in_user)
                up = UserProfile.objects.get(user=logged_in_user)
                if up.type == VISITOR_ID:
                    return HttpResponseRedirect(reverse('user_home'))
                else:
                    return HttpResponseRedirect(reverse('artist_home'))
            else:
                return HttpResponse("Not active")
    else:
        form = LoginForm()
    return render(request,'login.html',{'form':form})
Ejemplo n.º 34
0
def login_user(request):
    response = reply_object()
    form = LoginForm(request.POST, request = request)
    if form.is_valid():
        response["code"] = settings.APP_CODE["LOGIN"]
        if request.session.has_key('next_view'):
            if not (request.session['next_view'] == "" \
                        or request.session['next_view'] == None):
                response["next_view"] = request.session["next_view"]
                del(request.session["next_view"])
        if not response.has_key("next_view"):
            response["next_view"] = "/dashboard/"
    else:
        response["code"] = settings.APP_CODE["FORM ERROR"]
        response["errors"] = form.errors

    return HttpResponse(simplejson.dumps(response))
Ejemplo n.º 35
0
def login(request):
    if request.user.is_authenticated:
        return redirect("/")
    if request.method == "GET":
        form = LoginForm()
    if request.method == "POST":
        form = LoginForm(data=request.POST)
        if form.is_valid():
            user = auth.authenticate(request, **form.cleaned_data)
            if user is not None:
                auth.login(request, user)
                return redirect(request.GET.get("next", "/"))
            else:
                form.add_error('password', 'invalid password or username')

    ctx = {'form': form}
    return render(request, 'login.html', ctx)
Ejemplo n.º 36
0
def mostrar_login(request):
    formulario_login = LoginForm(request.POST or None)
    msg = ' '
    if formulario_login.is_valid():
        username = formulario_login.cleaned_data['username']
        password = formulario_login.cleaned_data['password']
        user = Cadastro.objects.filter(username=username).first()

        if not user or user.password != password:
            msg = ''
        else:
            return redirect('/busca')

    return render(request, 'login.html', {
        'form': formulario_login,
        'msg': msg
    })
Ejemplo n.º 37
0
def login(request):
    redirected_path = request.GET.get('next', '/')
    form = LoginForm(request.POST)

    if request.POST:
        form = LoginForm(request.POST)
        if form.is_valid():
            user = auth.authenticate(
                username=form.cleaned_data.get('login'),
                password=form.cleaned_data.get('password'))
            if user is not None:
                auth.login(request, user)
                return redirect(redirected_path)
            else:
                form.add_error(None, 'Wrong login or password')

    context['form'] = form
    return render(request, 'login.html', context)
Ejemplo n.º 38
0
def user_login(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse('private'))
    else:
        form_errors = None
        if request.method == 'POST':  # If the form has been submitted...
            form = LoginForm(request.POST)
            if form.is_valid():
                user = form.authenticate_user()
                if user:
                    login(request, user)
                    return HttpResponseRedirect(reverse('private'))
                else:
                    return render(request, 'app/login.html', {'form': form, 'errors': _('Datos invalidos')})
            else:
                form_errors = form.errors
        form = LoginForm(request.GET)
        return render(request, 'app/login.html', {'form': form, 'errors': form_errors})
Ejemplo n.º 39
0
def login_page(request):
    form = LoginForm(request.POST or None)
    context = {
        'form': form
    }
    print(request.user.is_authenticated)
    if form.is_valid():
        print(form.cleaned_data)
        username = form.cleaned_data.get('username')
        password = form.cleaned_data.get('password')
        user = authenticate(request, username=username, password=password)
        if user is not None:
            login(request, user)
            return redirect('/')
        else:
            print("error.......")

    return render(request, "auth/login.html", context=context)
Ejemplo n.º 40
0
def loginApp(request):
    """
    登陆操作,成功后更新时间
    :param request:
    :return:
    """
    if request.method == 'POST':
        login_form = LoginForm(request.POST)

        if login_form.is_valid():
            user = authenticate(username=login_form.cleaned_data['username'],
                                password=login_form.cleaned_data['password'])

            if user and user.is_authenticated():
                user.set_last_time()  # 更新登录时间
                login(request, user)
                return redirect('/index')  # Redirect after POST
    else:
        login_form = LoginForm()
    return render(request, 'login.html', locals())
Ejemplo n.º 41
0
def login_view(request):
	mensaje = ""
	if request.user.is_authenticated():
		return HttpResponseRedirect('/')
	else:
		if request.method == "POST":
			form = LoginForm(request.POST)
			if form.is_valid():
				
				username = form.cleaned_data['username']
				password = form.cleaned_data['password']
				usuario = authenticate(username=username,password=password)
				if usuario is not None and usuario.is_active:
					login(request,usuario)
					return HttpResponseRedirect("/")
				else:
					mensaje = "usuario y/o password incorrecto"
		
		form = LoginForm()
		ctx = {'form':form,'mensaje':mensaje}
		return render_to_response('login.html',ctx,context_instance=RequestContext(request))
Ejemplo n.º 42
0
def login(request):
    locals().update(csrf(request))
    ls = LockedStatus.objects.filter(name='login')
    loginLocked = False
    if ls and ls[0].is_lock:
        loginLocked = True
    if request.method == 'POST' and not loginLocked:
        loginForm = LoginForm(request.POST)
        if loginForm.is_valid():
            people = People.objects.filter(
                id_number=loginForm.cleaned_data['id_number'], 
                query_password=hashlib.md5(loginForm.cleaned_data['password']).hexdigest()
            )
            if people:
                request.session['profile'] = people[0]
                request.session.set_expiry(3600)
                return redirect('/progress/')
            else:
                loginForm._errors[NON_FIELD_ERRORS] = loginForm.error_class([u'用户名或密码错误'])
    else:
        loginForm = LoginForm()
    return render_to_response('login.html', locals())