Example #1
0
 def test_login_fail_wrong_password(self):
     member = MemberFactory(username='******')
     member.set_password('test')
     member.save()
     form = LoginForm({
         'username': '******',
         'password': '******'})
     self.assertFalse(form.is_valid())
Example #2
0
 def test_loging_in_successfully(self):
     member = MemberFactory(username='******')
     member.set_password('test')
     member.save()
     form = LoginForm({
         'username': '******',
         'password': '******'})
     self.assertTrue(form.is_valid())
Example #3
0
 def test_login_fail_password_not_set(self):
     member = MemberFactory(username='******')
     member.set_password('test')
     member.save()
     form = LoginForm({
         'username': '******',
         'password': None})
     self.assertFalse(form.is_valid())
Example #4
0
    def post(self, request):
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = authenticate(request, username=username, password=password)
            if user:  # if a user with entered username and password is found:
                login(request, user)
                messages.success(
                    request, f'{username}, you have lodged in successfully')
                return redirect('mysite:show-all-tasks')
            else:
                # user not found: either password or username are not found
                messages.error(request, "Invalid username or password")
                return render(request, 'registration/login.html',
                              {'form': form})
                # I used render instead of redirect because i wanted to show the previous
                # entered username using form.is_bound

        else:
            messages.error(request, "Invalid username or password")
            return redirect('members:login')


# class EditPasswordView(PasswordChangeView):
#     form_class = PasswordResetForm
#     template_name = 'registration/change_password.html'
#     success_url = reverse_lazy('accounts:pass_success')
#
#
# class SignupCreateView(CreateView):
#     form_class = SignupForm
#     template_name = 'registration/signup.html'
#     success_url = reverse_lazy('accounts:login')
#
#
# class EditProfileView(UpdateView):
#     model = User
#     form_class = EditProfileForm
#     template_name = 'registration/edit_profile.html'
#     success_url = reverse_lazy('questions:all_questions')
#
#
# class PasswordChangeSuccessView(TemplateView):
#     template_name = 'registration/change-pass-success.html'
#
#
# class ShowProfileView(DetailView):
#     model = User
#     template_name = 'accounts/profile_page.html'

# class NotificationView(ListView):
#     model = Notification
#     template_name = 'accounts/all_notifications.html'
Example #5
0
def login_page(request):
    form = LoginForm(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)
        if user is not None:
            login(request, user)
            return redirect('members:dashboard')
        return redirect('members:login')
    context = {
        'form':form
    }
    return render(request, 'members/login.html', context)
Example #6
0
def home(request):
    projects = Projects.objects.order_by('-date_of_publication')[:6]
    form = LoginForm()
    return render(request, 'projects/home.html', {
        'projects': projects,
        'form': form
    })
Example #7
0
def connection(request):
    errors = {'connection': False}

    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]  # Nous récupérons le nom d'utilisateur
            password = form.cleaned_data["password"]  # … et le mot de passe

            user = authenticate(username=username, password=password)  #Nous vérifions si les données sont correctes
            if user:  # Si l'objet renvoyé n'est pas None
                login(request, user)  # nous connectons l'utilisateur
            else: #sinon une erreur sera affichée
                errors = {'connection': True}

    return home(request, errors)
Example #8
0
def login_view(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)

        if form.is_valid():
            login(request, form.user)

            if request.GET.get('next'):
                return redirect(request.GET.get('next'))
            return redirect('posts:post_list')
    else:
        form = LoginForm()

    context = {'form': form, 'FACEBOOK_APP_ID': settings.FACEBOOK_APP_ID}

    return render(request, 'members/login.html', context)
Example #9
0
def login_view(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = authenticate(request, username=username, password=password)
            # authenticate -> login, redirect to 'index'
            if user is not None:
                login(request, user)
                return redirect('index')
    else:
        form = LoginForm()
    context = {
        'login_form': form,
    }
    return render(request, 'members/login.html', context)
Example #10
0
def login_view(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.data["username"]
            password = form.data["password"]
            user = authenticate(username=username, password=password)
            if user is not None:
                login(request, user)
                return redirect(reverse('projects.views.home'))
            else:
                error = u'Les identifiants fornis ne sont pas valides'
        else:
            error = u'Veuillez entrer vos identifiants'
    else:
        form = LoginForm()
    return render(request, 'members/login.html', {'form': form})
Example #11
0
def loginRequest(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get("username")
            password = form.cleaned_data.get("password")
            member = authenticate(username=username, password=password)
            if member is not None:
                login(request,member)
                return HttpResponseRedirect('/members/')
            else:
                return render(request, 'members/login.html', {'form':form})
        else:
            return render(request, 'members/login.html', {'form':form})
    else:
        form = LoginForm()
        return render(request, 'members/login.html', {'form': form})
Example #12
0
def login_view(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)

        if form.is_valid():
            user = form.user
            if user is not None:
                login(request, user)
                return redirect('posts:post_list')
    else:
        form = LoginForm()

    context = {
        'form': form
    }

    return render(request, 'members/login.html', context)
Example #13
0
def member_signin(request):
    if request.method == 'POST':
        form = LoginForm(request, data=request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            hacker = authenticate(username=username, password=password)
            if hacker is not None:
                login(request, hacker)		
                return render(request, 'index.html', {'form':form})
            else:    			
                return render(request, 'index.html', {'form':form})
        else:
                return render(request, 'index.html', {'form':form})		
    else:
        form = LoginForm()
        return render(request, 'index.html', {'form':form})
Example #14
0
def login_view(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.data["username"]
            password = form.data["password"]
            user = authenticate(username=username, password=password)
            if user is not None:
                login(request, user)
                return redirect(reverse('projects.views.home'))
            else:
                error = u'Les identifiants fornis ne sont pas valides'
        else:
            error = u'Veuillez entrer vos identifiants'
    else:
        form = LoginForm()
    return render(request, 'members/login.html', {'form': form})
Example #15
0
def login_view(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            # is_valid() 이후에 self.cleaned_data 가 반환되었다
            form.login(request)
            return redirect('posts:post-list')
    else:
        # GET을 할때는 form 형식만 보내주면 되기 때문에 LoginForm 내부에 request.POST를 안넣어 줘도 된다.
        form = LoginForm()

    login_base_url = 'https://nid.naver.com/oauth2.0/authorize'
    login_params = {
        'response_type': 'code',
        'client_id': SECRETS["NAVER_CLIENT_ID"],
        'redirect_url': 'http://localhost:8000/members/naver-login/',
        'state': 'RANDOM_STATE',
    }
    login_url = '{base}?{params}'.format(
        base=login_base_url,
        params='&'.join(
            [f'{key}={value}' for key, value in login_params.items()]))

    context = {
        'form': form,
        'login_url': login_url,
    }
    return render(request, 'members/login.html', context)
Example #16
0
def login_view(request):
    if request.user.is_authenticated:
        return redirect('posts:post-list')

    elif request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            form.login(request)
            return redirect('posts:post-list')
    else:
        form = LoginForm()

    login_base_url = 'https://nid.naver.com/oauth2.0/authorize'
    login_params = {
        'response_type': 'code',
        'client_id': SECRET['NAVER_CLIENT_ID'],
        'redirect_uri': 'http://localhost:8000/members/naver-login/',
        'state': 'RANDOM_STATE',
    }
    login_url = '{base}?{params}'.format(
        base=login_base_url,
        params='&'.join(
            [f'{key}={value}' for key, value in login_params.items()]))

    print(login_url)

    context = {'form': form, 'login_url': login_url}

    return render(request, 'members/login.html', context)
Example #17
0
def LoginRequest(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect("/home")
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            password = form.cleaned_data["password"]
            member = authenticate(username=username, password=password)
            if member is not None:
                login(request, member)
                return HttpResponseRedirect('/home')
            else:
                return render_to_response("login.html", {"form": form, "error": "There is no member with that username and password..."}, context_instance=RequestContext(request))
        else:
            return render_to_response("login.html", {"form": form}, context_instance=RequestContext(request))
    else:
        form = LoginForm()
        context = {"form": form}
        return render_to_response("login.html", context, context_instance=RequestContext(request))
Example #18
0
def Home(request):
    aboutus_list = Property.objects.all()
    formLogin = LoginForm()
    formRegister = RegisterForm()
    context = {
        'current': 'home',
        'aboutus_list': aboutus_list,
        'formLogin': formLogin,
        'formRegister': formRegister
    }
    return render(request, 'realbuy_app/home.html', context)
Example #19
0
def login_view(request):
    if request.method == 'POST':
        form = LoginForm(data=request.POST)
        if form.is_valid():
            user = form.authenticate(request)
            login(request, user)
            return redirect('todos:todo-list')
    else:
        form = LoginForm()

    secret = get_secret()

    naver_request_url = naver_login_url(
        client_id=secret['NAVER_CLIENT_ID'],
        redirect_url='http://localhost:8000/naver-login',
        state='RANDOM_STATE')

    facebook_request_url = facebook_login_url(
        client_id=secret['FACEBOOK_CLIENT_ID'],
        redirect_url='http://localhost:8000/facebook-login',
        state='RANDOM_STATE')

    context = {
        'login_form': form,
        'naver_request_url': naver_request_url,
        'facebook_request_url': facebook_request_url,
    }
    return render(request, 'members/login.html', context)
Example #20
0
def login_view(request):
    # URL: /members/login/
    # config.urls에서 '/members/'부분을 "members.urls'를 사용하도록 include
    # members.urls에서 '/login/' 부분을 이 view에 연결

    # Template: members/login.html
    # 템플릿에는 아래의 LoginForm인스턴스를 사용

    # Form: members/forms.py
    # LoginForm
    #  username, password를 받을 수 있도록 함
    #   password는 widget에 PasswordInput을 사용하기.

    #username, password를 받는 부분
    # LoginForm을 사용하도록 수정
    # 로그인에 실패했을 경우, Template에 form.non_filed_errors를 사용해서
    # 로그인에 실패했다는것을 출력\
    context = {}
    if request.method == 'POST':
    #     username = request.POST['username']
    #     password = request.POST['password']
    #     user = authenticate(request, username=username, password=password)
        form = LoginForm(request.POST)
        if form.is_valid():
            # 주어진 username, password로
            # authenticate에 성공했다
            # request와 authenticate된 user를 사용해서
            # login()처리 후
            login(request, form.user)
            # GET parameter에 'next'가 전달되었다면
            # 해당 키의 값으로 redirect
            # 전달되지 않았으면 'posts:post-list'로 redirect
            next_path = request.GET.get('next')
            if next_path:
                return redirect(next_path)
            return redirect('posts:post-list')
    else:
        form = LoginForm()
    context['form'] = form
    return render(request, 'members/login.html', context)
Example #21
0
def login_view(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            form.login(request)
            return redirect('members:index')
    else:
        form = LoginForm()
    context = {
        'form': form,
    }
    return render(request, 'member/login.html', context)
Example #22
0
def login_request(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect('/members/profile/')
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            member = authenticate(username=username, password=password)
            if member is not None:
                login(request, member)
                return HttpResponseRedirect('/members/profile/')
            else:
                context = {'form': form}
        else:
            context = {'form': form}
    else:
        form = LoginForm()
        context = {'form': form}

    return render_to_response('members/login.html',
                              context,
                              context_instance=RequestContext(request))
Example #23
0
def login_view(request):
    # POST요청일때는
    # authentictate -> login후 'index'로 redirect
    #   실패시에는 다시 GET요청의 로직으로 이동
    #
    # GET요청일때는
    # members/login.html파일을 보여줌
    #   해당 파일의 form에는 username, password input과 '로그인'버튼이 있음
    #   form은 method POST로 다시 이 view로의 action(빈 값)을 가짐
    # if request.method == 'POST':
    #
    #     username = request.POST['username']
    #     password = request.POST['password']
    #     user = authenticate(request, username=username, password=password)
    #     if user is not None:
    #         login(request, user)
    #         return redirect('index')
    # return render(request, 'members/login.html')

    # 2/24 로그인 뷰 form으로 구현해보기
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            # username = request.POST['username']
            # password = request.POST['password']
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = authenticate(request, username=username, password=password)
            if user is not None:
                login(request, user)
                return redirect('index')
    else:
        form = LoginForm()
    context = {
        'login_form': form,
    }
    return render(request, 'members/login.html', context)
Example #24
0
def login(request):
    if request.method == 'POST':
       form = LoginForm(request.POST)
       if form.is_valid():
           form._login(request)
           return redirect('posts:post-list')

    else:
        form = LoginForm()
    context = {
        'login_form':form,
    }
    return render(request, 'members/login.html', context)
Example #25
0
def login_view(request):
    context = {}
    if request.method == 'POST':
        # 1. request.POST에 데이터가 옴
        # 2. 온 데이터 중에서 username에 해당하는 값과 password에 해당하는 값을  각각
        #   username, password변수에 할당
        # 3. 사용자 인증을 수행

        # username, password를 밥는 무분을
        # LoginForm을 사용하도록 변경
        # 로그인에 실패했을경우, Template에 form.non_field_error를 사용해서 로그인이 실패했다는걸 출
        form = LoginForm(request.POST)
        if form.is_valid():
            login(request, form.user)
            next_path = request.GET.get('next')
            if next_path:
                return redirect(next_path)
            return redirect('posts:post-list')

    else:
        form = LoginForm()

    context['form'] = form
    return render(request, 'members/login.html', context)
Example #26
0
def login_request(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect('/members/profile/')
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            member = authenticate(username=username, password=password)
            if member is not None:
                login(request, member)
                return HttpResponseRedirect('/members/profile/')
            else:
                context = {'form':form}
        else:
            context = {'form':form}
    else:
        form = LoginForm()
        context = {'form':form}
        
    return render_to_response(
        'members/login.html', 
        context, 
        context_instance=RequestContext(request))
Example #27
0
def login_view(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(username=username, password=password)
        if user is not None:
            # 인증 성공시
            login(request,user)
            return redirect('posts:post-list')
        else:
            # 인증 실패시
            pass

    else:
        form = LoginForm()
        context = {
            'form': form,
        }
        return render(request, 'members/login.html', context)
Example #28
0
def login_view(request):
    # if request.method == 'POST':
    # username = request.POST['username']
    # password = request.POST['password']
    # # email = request.POST['email']
    # # name = request.POST['name']
    #
    # print(username)
    # print(password)
    # user = authenticate(request, username=username, password=password)
    # # user = authenticate( username=username, password=password)
    # # return value = kimdooh request없어도 됨
    # print(user)
    # if user is not None:
    #     login(request, user)
    #     return redirect('index')
    # else:
    #     return redirect('members:login')
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            form.login(request)
            return redirect('posts:post-list')

    else:
        # 입력했던 데이터 안날려먹으려고 이렇게 로직 구
        form = LoginForm()
    login_base_url = 'https://nid.naver.com/oauth2.0/authorize'
    login_params = {
        'response_type': 'code',
        'client_id': 'XgjJDOfau4a3p4w7excG',
        'redirect_uri': 'http://localhost:8000/members/naver-login/',
        'state': 'RANDOM_STATE',
    }
    login_url = '{base}?{params}'.format(
        base=login_base_url,
        params='&'.join(
            [f'{key}={value}' for key, value in login_params.items()]))
    context = {
        'form': form,
        'login_url': login_url,
    }

    return render(request, 'members/login.html', context)
Example #29
0
def login_view(request):
    """

    :param request:
    :return:
    """
    if request.method == 'POST':
        form = LoginForm(data=request.POST)
        if form.is_valid():
            user = form.authenticate(request)
            login(request, user)
            return redirect('posts:post_list')
    else:
        form = LoginForm()

    context = {'login_form': form}
    return render(request, 'members/login.html', context)
Example #30
0
 def test_loging_in_successfully(self):
     member = MemberFactory(username='******')
     member.set_password('test')
     member.save()
     form = LoginForm({'username': '******', 'password': '******'})
     self.assertTrue(form.is_valid())
Example #31
0
def include_login_form(request):
    form = LoginForm()
    return {'login_form': form}
def load_login_pop():
    form = LoginForm()
    return {'form': form}
Example #33
0
 def test_login_fail_wrong_password(self):
     member = MemberFactory(username='******')
     member.set_password('test')
     member.save()
     form = LoginForm({'username': '******', 'password': '******'})
     self.assertFalse(form.is_valid())
Example #34
0
 def test_login_fail_password_not_set(self):
     member = MemberFactory(username='******')
     member.set_password('test')
     member.save()
     form = LoginForm({'username': '******', 'password': None})
     self.assertFalse(form.is_valid())
Example #35
0
def login_view(request):
    """
    Template: templates/members/login.html
    POST 요청을 처리하는 form
    내부에는 input 2개를 가지며, 각각 username, password로 name을 가짐
    URL: /members/login/ (members.urls 사용, config.urls에 include해 사용)
    name: members:login (url namespace 사용)

    POST 요청시, 예제를 보고 적절히 로그인 처리한 후, index로 돌아갈 수 있도록 함
    """
    # if request.method == 'POST':
    #     username = request.POST['username']
    #     password = request.POST['password']
    #     user = authenticate(request, username=username, password=password)
    #     if user:
    #         login(request, user)
    #         # return render(request, 'index.html')
    #         # return redirect('index')
    #         return redirect('posts:post-list')
    #     else:
    #         return redirect('members:login')
    #         # return render(request, 'members/login.html')
    # else:
    #     return render(request, 'members/login.html')

    if request.method == 'POST':
        # username = request.POST['username']
        # password = request.POST['password']
        # user = authenticate(request, username=username, password=password)

        form = LoginForm(request.POST)

        if form.is_valid():
            # user = authenticate(request)
            # if user:
            #     login(request, user)
            #     return redirect('posts:post-list')
            # else:
            #     return redirect('members:login')

            form.login(request)
            return redirect('posts:post-list')
        # 아이디 혹은 비밀번호가 잘못되면 members:login 페이지로 다시 load
        # else:
        #     return redirect('members:login')
        #
        #     # form.errors가 살아있는 상태 (form 인스턴스가 유지되고 있음)
        #     # 아래 코드와 중복..
        #     context = {
        #         'form': form
        #     }
        #     return render(request, 'members/login.html', context)
    else:
        form = LoginForm()

    login_base_url = 'https://nid.naver.com/oauth2.0/authorize'

    login_params = {
        'response_type': 'code',
        'client_id': SECRETS['CLIENT_ID'],
        'redirect_uri': 'http://localhost:8000/members/naver-login/',
        'state': 'RANDOM_STATE'
    }

    login_url = '{base}?{params}'.format(
        base=login_base_url,
        params='&'.join(
            [f'{key}={value}' for key, value in login_params.items()]))
    print('login_url >> ', login_url)

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