コード例 #1
0
ファイル: views.py プロジェクト: Mobencl/TheOne
def login_view(request):
    form = UserLoginForm(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)
        login(request, user)
        if user.profileuser.role == 'Player':
            return redirect('/account/profile/player/')
        elif user.profileuser.role == 'Partner':
            return redirect('/account/profile/partner/')
    return render(request, 'accounts/login.html', {'form': form})
コード例 #2
0
def all_features(request):
    """ Create a view to show all feature tickets """
    tickets = Ticket.objects.filter(ticket_type='FEATURE').order_by('-number_votes')
    login_form = UserLoginForm()
    signin_form = UserRegistrationForm()
    context = {
        "tickets": tickets,
        "type": "FEATURE",
        "login_form": login_form,
        "signin_form": signin_form
    }
    return render(request, "tickets.html", context)
コード例 #3
0
def login(request):
    if request.user.is_authenticated:
        return redirect(reverse('get_products'))
    if request.method == "POST":
        login_form = UserLoginForm(request.POST)

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

            if user:
                auth.login(user=user, request=request)
                request.session['user_id'] = user.id
                request.session['user_email'] = user.email
                return redirect(reverse('get_products'))
            else:
                login_form.add_error(None,
                                     "Your username or password is incorrect")
    else:
        login_form = UserLoginForm()
    return render(request, 'login.html', {'login_form': login_form})
コード例 #4
0
ファイル: test_forms.py プロジェクト: AntoineMaurin/Melius
    def test_login_valid_data(self):

        User.objects.create_user(username='******',
                                 email='*****@*****.**',
                                 password='******')

        form = UserLoginForm(data={
            'username': '******',
            'password': '******',
        })

        self.assertTrue(form.is_valid())
コード例 #5
0
def login(request):
    """Returns the login page"""
    if request.method == 'POST':
        login_form = UserLoginForm(
            request.POST)  # populate the form from what the user has keyed in
        if login_form.is_valid():
            # attempt to check the username and password is valid
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])
            messages.success(request, "You have successfully logged in")
            if user:
                # log in the user
                auth.login(user=user, request=request)
                return redirect(reverse('index'))
            else:
                login_form.add_error(None, "Invalid username or password")
                return render(request, 'login.html', {'form': login_form})

    else:
        login_form = UserLoginForm()
        return render(request, 'login.html', {'form': login_form})
コード例 #6
0
def login_view(request):
    if request.method == 'POST':
        form = UserLoginForm(data=request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            login(request, user)

            if 'next' in request.POST:

                return redirect(request.POST.get('next'))

            else:

                return redirect('index')

        else:
            form = UserLoginForm()

        return render(request, 'accounts/login.html', {'form': form})
コード例 #7
0
ファイル: views.py プロジェクト: Am-iir/Job
def home(request):

    form = UserLoginForm(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)
        login(request, user)
        return redirect("/")

    return render(request, "home.html", {"form": form})
コード例 #8
0
def login(request):
    """ Return login page containing the login form """
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    if request.method == 'POST':
        login_form = UserLoginForm(request.POST)
        if login_form.is_valid():
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])
            print(messages)
            if user:
                auth.login(user=user, request=request)
                messages.success(request,
                                 'You have been succesfully logged in!')
                return redirect(reverse('profile'))
            else:
                messages.error(request,
                               'Your username or password is incorrect')
    else:
        login_form = UserLoginForm()
    return render(request, 'login.html', {'login_form': login_form})
コード例 #9
0
ファイル: views.py プロジェクト: DavidMEvans/regofzom
def login(request):
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            user = auth.authenticate(email=request.POST.get('email'),
                                     password=request.POST.get('password'))

            if user is not None:
                auth.login(request, user)
                messages.error(request, "")
                return redirect(reverse('profile2'))
            else:
                form.add_error(None,
                               "Your email or password was not recognised")

    else:
        form = UserLoginForm()

    args = {'form': form}
    args.update(csrf(request))
    return render(request, 'login.html', args)
コード例 #10
0
def login(request):
    """A view that manages the login form"""
    if request.user.is_authenticated:
        return redirect(reverse('home'))
    if request.method == 'POST':
        login_form = UserLoginForm(request.POST)
        if login_form.is_valid():
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['user_password'])
        messages.error(request, "You have successfully logged in")

        if user:
            auth.login(user=user, request=request)

        else:
            login_form.add_error(
                None, "Your username and/or password are incorrect")
    else:
        login_form = UserLoginForm()

    return render(request, 'login.html', {'login_form': login_form})
コード例 #11
0
def login(request):
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            user = auth.authenticate(email=request.POST.get('email'),
                                    password=request.POST.get('password'))
 
            if user is not None:
                auth.login(request, user)
                messages.error(request, "You have successfully logged in")
                return redirect(request.session['next'])
            else:
                form.add_error(None, "Your email or password was not recognised")
 
    else:
        form = UserLoginForm()
        request.session['next'] = request.GET.get('next',reverse('index'))
 
    args = {'form':form, 'active_login': True}
    args.update(csrf(request))
    return render(request, 'login.html', args)
コード例 #12
0
def login_view(request):
    next_ = request.GET.get('next')
    form = UserLoginForm(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)
        login(request, user)
        if next_:
            return redirect(next_)
        return redirect("/posts")
    return render(request, "form.html", {"form": form, "title": "Login"})
コード例 #13
0
def login(request):
    """Return a login page"""
    if request.user.is_authenticated:
        return redirect(reverse("index"))
    if request.method == "POST":
        login_form = UserLoginForm(request.POST)

        if login_form.is_valid():
            user = auth.authenticate(
                username=request.POST["username"], password=request.POST["password"]
            )

            if user:
                auth.login(user=user, request=request)
                messages.success(request, "You have logged in!")
                return redirect(reverse("index"))
            else:
                login_form.add_error(None, "Your username or password is incorrect")
    else:
        login_form = UserLoginForm()
    return render(request, "login.html", {"login_form": login_form})
コード例 #14
0
ファイル: views.py プロジェクト: sarbadal/Django-Book
def login_view(request, *args, **kwargs):
    """Docstring"""
    form = UserLoginForm(request.POST or None)
    if form.is_valid():
        user_obj = form.cleaned_data.get('user_obj')
        login(request, user_obj)
        return redirect('home')

    return render(request, 'users/login.html', {
        "form": form,
        'title': 'Login'
    })
コード例 #15
0
def login(request):
    """Return a login page"""
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    if request.method == "POST":
        login_form = UserLoginForm(request.POST)

        if login_form.is_valid():
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])
            messages.success(request, "You have successfully logged in!")

            if user:
                auth.login(user=user, request=request)
                return redirect(reverse('index'))
            else:
                login_form.add_error(None,
                                     "Your username or password is incorrect")
    else:
        login_form = UserLoginForm()
    return render(request, 'login.html', {'login_form': login_form})
コード例 #16
0
ファイル: tests.py プロジェクト: TamikSKW/krypted
 def test_invalid_login_form_user_does_not_exist(self):
     """
     Test an invalid form with a non-existent user
     """
     form_data = {
         "username": "******",
         "password": "******",
     }
     form = UserLoginForm(data=form_data)
     self.assertFalse(form.is_valid())
     self.assertTrue('username' in form.errors)
     self.assertTrue("Login failed: Invalid username or password" in form.errors['username'])
コード例 #17
0
ファイル: views.py プロジェクト: santoslos/find_route
def login_view(request):
    form = UserLoginForm(request.POST or None)
    _next = request.GET.get('next')
    if form.is_valid():
        username = form.cleaned_data.get('username')
        password = form.cleaned_data.get('password')
        user = authenticate(username=username, password=password)

        login(request, user)
        _next = _next or '/'
        return redirect(_next)
    return render(request, 'accounts/login.html', {'form': form})
コード例 #18
0
def authview(request):
    login_form = UserLoginForm()
    form = UserRegisterForm()
    if request.method == "POST" and "sign_in" in request.POST:
        login_form = UserLoginForm(data=request.POST)
        if login_form.is_valid():
            # username = login_form.cleaned_data.get("username")
            # password = login_form.cleaned_data.get("password")
            # user = authenticate(username=username, password=password)
            # login(request,user)
            # login_form.save()
            user = login_form.get_user()
            login(request, user)

            message = "success"
            print("Success")
            # return HttpResponseRedirect("products:home")
            return redirect(reverse("orders:checkout"))

    elif request.method == "POST" and "sign_up" in request.POST:
        form = UserRegisterForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password1')
            messages.success(
                request, '%s %s' %
                ('Your account has been created. Please login as', username))
            user = form.save()
            # user = authenticate(username=username, password=password)
            login(request,
                  user,
                  backend='django.contrib.auth.backends.ModelBackend')
            return HttpResponseRedirect(reverse('products:home'))

    return render(request,
                  "login.html",
                  context={
                      'login_form': login_form,
                      'reg_form': form
                  })
コード例 #19
0
ファイル: views.py プロジェクト: Kirin990/diango_mall
def user_login(request):
    """ User login """
    # If the login is jumped from another page, it will bring next parameter, if there is next parameter, after the login is completed, you need to transfer to
    # The address corresponding to next, otherwise, jump to the home page
    next_url = request.GET.get('next', 'index')
    # First visit URL GET display form for user input
    # Second access to URL POST
    if request.method == 'POST':
        form = UserLoginForm(request=request, data=request.POST)
        print(request.POST)
        client = VerifyCode(request)
        code = request.POST.get('vcode', None)
        rest = client.validate_code(code)
        print('Validation results:', rest)
        # Whether the form is verified
        if form.is_valid():
            # Perform login
            data = form.cleaned_data

            # ## Use a custom way to log in
            # # Query user information [MD5] encryption algorithm, irreversible encryption algorithm 1243 -> sdfadfad
            # user = User.objects.get(username=data['username'], password=data['password'])
            # # Set user ID to session
            # request.session[constants.LOGIN_SESSION_ID] = user.id
            # #Jump after login
            # return redirect('index')

            ### Use django-auth to log in
            user = authenticate(request,
                                username=data['username'],
                                password=data['password'])
            if user is not None:
                login(request, user)
                # Jump after login
                return redirect(next_url)
        else:
            print(form.errors)
    else:
        form = UserLoginForm(request)
    return render(request, 'login.html', {'form': form, 'next_url': next_url})
コード例 #20
0
ファイル: views.py プロジェクト: Nyanca/django-auth-app
def login(request):
    ''' log user in '''
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    if request.method == "POST":
        login_form = UserLoginForm(request.POST)

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

            if user:
                auth.login(user=user, request=request)
                messages.success(request, "You have successfully logged in.")
                return redirect(reverse('index'))
            else:
                login_form.add_error(None, "Invalid username or password")

    else:
        login_form = UserLoginForm()

    return render(request, 'login.html', {"login_form": login_form})
コード例 #21
0
def user_login(request):
    """ 用户登录 """
    # 如果登陆是从其他页面跳转过来的,会带一个next参数,
    # 如果有next参数,登陆完之后跳转到之前的地址去,否则到首页
    next_url = request.GET.get('next', 'index')
    # 第一次访问URL GET 展示表单,供用户输入
    # 第二次访问URL POST
    if request.method == 'POST':
        form = UserLoginForm(request=request, data=request.POST)
        print(request.POST)
        client = VerifyCode(request)
        code = request.POST.get('varify_code', None)
        rest = client.validate_code(code)
        print('验证结果: ', rest)
        # 表单是否通过了验证
        if form.is_valid():
            data = form.cleaned_data

            # user = User.objects.get(username=data['username'], password=data['password'])
            # request.session[constants.LOGIN_SESSION_ID] = user.id
            # return redirect('index')

            # 使用django-auth实现登陆
            user = authenticate(request,
                                username=data['username'],
                                password=data['password'])
            if user is not None:
                # 登陆
                login(request, user)
                # 登陆后的跳转
                return redirect(next_url)
        else:
            print(form.errors)
    else:
        form = UserLoginForm(request)
    return render(request, 'login.html', {
        'form': form,
        'next_url': next_url,
    })
コード例 #22
0
ファイル: views.py プロジェクト: noolfon/find_route
def login_view(request):
    form = UserLoginForm(request.POST or None)
    # получаем адрес куда нужно доставить юзера после авторизации
    _next = request.GET.get('next')
    if form.is_valid():
        username = form.cleaned_data.get('username')
        password = form.cleaned_data.get('password')
        user = authenticate(username=username, password=password)
        login(request, user)
        # если _next пустой перекидываем на главную "/"
        _next = _next or '/'
        return redirect(_next)
    return render(request, 'accounts/login.html', {'form': form})
コード例 #23
0
def login(request):
    """Log the user in"""
    if request.user.is_authenticated:
        return redirect(reverse('index'))  #Redirect to index page
    if request.method == "POST":
        login_form = UserLoginForm(request.POST)

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

            if user:
                auth.login(user=user, request=request)
                return redirect(reverse('index'))  #Redirect to index page
            else:
                login_form.add_error(None,
                                     "Your username or password is incorrect")

    else:
        login_form = UserLoginForm()

    return render(request, 'login.html', {"login_form": login_form})
コード例 #24
0
ファイル: views.py プロジェクト: 99ron/ScentQueen
def login(request):
    """Return a login page"""
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    """If this is a post request it confirms that the user credentials are correct and exists."""
    if request.method == "POST":
        login_form = UserLoginForm(request.POST)

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

            if user:
                auth.login(user=user, request=request)
                messages.success(request, "You have succesfully logged in!")
                return redirect(reverse('index'))
            else:
                login_form.add_error(None,
                                     "Your username or password is incorrect")
    else:
        login_form = UserLoginForm()
    return render(request, 'login.html', {"login_form": login_form})
コード例 #25
0
def login(request):
    """ Logs the user into the app """
    if request.user.is_authenticated:
        return redirect(reverse("index"))
    if request.method == "POST":
        login_form = UserLoginForm(request.POST)
        # validate the log in form
        if login_form.is_valid():
            user = auth.authenticate(username=request.POST["username"],
                                     password=request.POST["password"])
            if user:
                auth.login(user=user, request=request)
                messages.success(request, f"Welcome back, {user.first_name}!")
                return redirect(reverse("profile"))
            else:
                messages.error(request, f"Username or Password is incorrect.")
    else:
        login_form = UserLoginForm()
    context = {
        "login_form": login_form,
    }
    return render(request, "login.html", context)
コード例 #26
0
def index(request):
    latest_ads = Ad.objects.all().order_by('-id')[:2]
    golfers = GolferProfile.objects.all().order_by('-id')[:8]
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            user = auth.authenticate(email=request.POST.get('email'),
                                     password=request.POST.get('password'))

            if user is not None:
                auth.login(request, user)
                messages.error(request, "You have successfully logged in")
                return redirect(reverse('profile'))
            else:
                form.add_error(None, "Your email or password was not recognised")

    else:
        form = UserLoginForm()

    args = {'form': form, 'latest_ads': latest_ads, 'golfers': golfers}
    args.update(csrf(request))
    return render(request, 'index.html', args)
コード例 #27
0
def index(request):
    """Render the index page"""
    redirect_to = request.GET.get('next')
    frontend_url = request.META.get('HTTP_REFERER')
    login_form = UserLoginForm()
    signin_form = UserRegistrationForm()
    context = {
        'login_form': login_form,
        'signin_form': signin_form,
        'redirect_to': redirect_to,
        'frontend_url': frontend_url
    }
    return render(request, 'index.html', context)
コード例 #28
0
def login(request):
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            user = auth.authenticate(email=request.POST.get('email'),
                                     password=request.POST.get('password'))

            if user is not None:
                auth.login(request, user)
                if user.is_merchant == 'Yes':
                    return redirect(reverse('merchant'))
                else:
                    return redirect(reverse('profile'))
            else:
                form.add_error(None, "Your email or password was incorrect")

    else:
        form = UserLoginForm()

    args = {'form': form}
    args.update(csrf(request))
    return render(request, 'accounts/login.html', args)
コード例 #29
0
ファイル: views.py プロジェクト: NIkfreid/scraping
def login_view(request):
    form = UserLoginForm(request.POST or None)
    if form.is_valid():
        data = form.cleaned_data
        email = data['email']
        password = data['password']
        user = authenticate(request, email=email, password=password)
        login(request, user)
        # Redirect to a success page.
        return redirect("home")

    context = {"form": form}
    return render(request, "accounts/login.html", context)
コード例 #30
0
ファイル: tests.py プロジェクト: TamikSKW/krypted
 def test_invalid_login_form_password(self):
     """
     Test an invalid form with an incorrect password
     """
     form_data = {
         "username": "******",
         "password": "******",
     }
     form = UserLoginForm(data=form_data)
     self.assertFalse(form.is_valid())
     self.assertTrue('username' in form.errors)
     self.assertTrue(
         "Login failed: Invalid username or password" in form.errors['username'])