コード例 #1
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:
                #  Stripe subscription > Renewing a Subscription > Challenge A
                if user.subscription_end < arrow.now():
                    form.add_error(None, "Your subscription has expired")
                else:
                    auth.login(request, user)
                    messages.success(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}
    args.update(csrf(request))
    return render(request, 'accounts/login.html', args)
コード例 #2
0
ファイル: views.py プロジェクト: comanezz/django-ecommerce
def login(request):
    """Return a login page"""
    if request.user.is_authenticated:
        # Avoid user already logged in to be able to view the login page and being redirected to index page
        # User won't be able to access the login page even if he enters the URL
        return redirect(reverse('index'))

    if request.method == "POST":
        login_form = UserLoginForm(request.POST)

        if login_form.is_valid():
            """this will authenticate the user this will tell us whether or not this user has provided the right
            username and password
            """
            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:
                # we can say none so this will just display on the form as opposed to a specific input
                login_form.add_error(None,
                                     "Your username or password is incorrect")
    else:
        login_form = UserLoginForm()
    return render(request, "login.html", {"login_form": login_form})
コード例 #3
0
ファイル: views.py プロジェクト: AlexVoitenko/vanga
def login(request):

    form = UserLoginForm()
    args = dict()
    args['form'] = form
    args['title'] = 'Login'

    if request.method == 'GET':
        return render(request, 'accounts/login.html', args)

    elif request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            user = auth.authenticate(email=email, password=password)
            if user is not None:
                if user.is_active:
                    auth.login(request, user)
                    return redirect('accounts:profile', user.pk)
                else:
                    form.add_error(None, u'Користувач заблокований')
            else:
                form.add_error(None, u'Невірний логін або пароль')
        args['form'] = form
        return render(request, 'accounts/login.html', args)
コード例 #4
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)
                load_cart(request, user)
                messages.success(
                    request,
                    f"You have successfully logged in {user.username}")
                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})
コード例 #5
0
ファイル: views.py プロジェクト: julian-garcia/i-comic
def login(request):
    '''
    Apply the email based user authentication set up in accounts.models
    to log the user in
    '''
    if request.user.is_authenticated:
        return redirect(reverse('index'))

    if request.method == 'POST':
        nextpage = request.POST.get('next')
        login_form = UserLoginForm(request.POST)
        user = auth.authenticate(username=request.POST['email'],
                                 password=request.POST['password'])
        if user:
            auth.login(user=user, request=request)
            messages.success(request, 'You are now logged in')
            # If the log in page was accessed while attempting to access a page requiring login,
            # redirect the user back to that page after logging on. Otherwise simply redirect to
            # the home page
            if nextpage == '' or nextpage is None:
                return redirect(reverse('index'))
            else:
                return redirect(nextpage)
        else:
            login_form.add_error(None, "User name or password incorrect")
    else:
        login_form = UserLoginForm()

    return render(request, 'login.html', {'login_form': login_form})
コード例 #6
0
ファイル: views.py プロジェクト: PaulMFleming/sit_spot
def login(request):
    """
    This method checks for post method and if not displays an empty login form. If it is a POST then the form is
    populated and checked for validity before authentication.
    """
    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}
    args.update(csrf(request))
    return render(request, 'login.html', args)
コード例 #7
0
def login(request):
    if request.user.is_authenticated:
        return redirect(reverse('index'))

    #Create login form instance containing data posted on the forms UI
    if request.method == "POST":
        login_form = UserLoginForm(
            request.POST)  # instance of class in forms.py

        #Validate form then pass in keys from POST dictionary
        if login_form.is_valid():
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])

            #If a user exists then log them in and redirect to home page
            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,
                                     "Your username or password is incorrect")
    else:
        #create empty object
        login_form = UserLoginForm()

    genres = Genre.objects.all().order_by('name')
    return render(request, 'login.html', {
        'login_form': login_form,
        'genres': genres
    })
コード例 #8
0
def login(request):
    # check to see if user is a journalist
    user = request.user
    if user.groups.filter(name='journalists').exists():
        journalist= True
    else:
        journalist= False
        
    """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, 'journalist': journalist})
コード例 #9
0
ファイル: views.py プロジェクト: vmcggh18/bits_tracker
def login(request):
    """Return a login page"""
    #redirect to the index page if user is authenticated
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    #create an instance of the login form
    if request.method == "POST":
        #  create new login form with the data posted from the form
        login_form = UserLoginForm(request.POST)
        # check that user is authenticated
        if login_form.is_valid():
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])
            #if we have a user then log them in
            if user:
                auth.login(user=user, request=request)
                messages.success(request, "You have successfully logged in!")
                #redirect to the index page so the login page is not visible
                return redirect(reverse('index'))
            else:
                login_form.add_error(None,
                                     "Your username or password is incorrect")
    else:
        #create an empty object
        login_form = UserLoginForm()
    return render(request, 'login.html', {'login_form': login_form})
コード例 #10
0
def login(request):
    """
    This method checks for post method and if not displays a an empty login form. If it is a POST then the form is
    populated and checked for validity before authentication.
    :param request:
    :return:
    """
    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}
    args.update(csrf(request))
    return render(request, 'login.html', args)
コード例 #11
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)
        # retrieve the username from the POST dictionary, same for password. we will use the password key to retieve the password from the dictionary and this will authenticate the user
        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!")
                # after a user has successfully logged in what we want to do is we want
                # to redirect them to a specific page just so that they're not redirected back to
                # the login page
                return redirect(reverse('index'))
            else:
                login_form.add_error(
                    None, 'Your username or password is incorrect!')
    else:
        login_form = UserLoginForm()

    # create an instance of the loginform
    return render(request, 'login.html', {'login_form': login_form})
コード例 #12
0
def login(request):
    """
    Return a Login page
    """
    if request.user.is_authenticated:
        sweetify.info(request,
                      "You are already logged in!",
                      button='OK',
                      timer=3000)
        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)
                sweetify.success(request, "You have successfully logged in!")

                if request.GET.get('next', False):
                    return HttpResponseRedirect(request.GET.get('next'))
                else:
                    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})
コード例 #13
0
ファイル: views.py プロジェクト: jordy-silva/CI-OnionPlus-MSP
def login(request):
    """Render a login page"""
    redirect_to = request.GET.get('next')
    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 are logged in!")
                if redirect_to:
                    return HttpResponseRedirect(redirect_to)
                else:
                    return redirect(reverse('index'))
            else:
                login_form.add_error(None, "Incorrect Username or password")
        else:
            messages.error(request, 'Please fix the errors')
    else:
        login_form = UserLoginForm()
    signin_form = UserRegistrationForm()
    context = {'login_form': login_form, 'signin_form': signin_form}
    return render(request, 'index.html', context)
コード例 #14
0
ファイル: views.py プロジェクト: DarraghB1992/wearesocial
def login(request, success_url=None):
    if request.method == "POST":
        form = UserLoginForm(request.POST)
        if form.is_valid():
            try:
                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")

            except SubscriptionEnded:
                form.add_error(None, "Your subscription has ended")

    else:
        form = UserLoginForm()

    args = {"form": form}
    args.update(csrf(request))

    return render(request, "login.html", args)
コード例 #15
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:
                now = timezone.now()
                if user.subscription_end > now:
                    auth.login(request, user)
                    messages.error(request, "You have successfully logged in")
                    return redirect(reverse('profile'))
                else:
                    form.add_error(None,
                                   "SORRY!, You're subscription has expired!")
            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)
コード例 #16
0
def login(request):
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            user = auth.authenticate(
                username=request.POST.get('username_or_email'),
                password=request.POST.get('password'))

            if user is not None:
                auth.login(request, user)
                messages.error(request, "You have successfully logged in")

                if request.GET and request.GET['next'] != '':
                    next = request.GET['next']
                    return HttpResponseRedirect(next)
                else:
                    return redirect(reverse('profile'))
            else:
                form.add_error(None,
                               "Your username or password was not recognised")
    else:
        form = UserLoginForm()

    args = {
        'form':
        form,
        'next':
        request.GET['next'] if request.GET and 'next' in request.GET else ''
    }
    args.update(csrf(request))
    return render(request, 'login.html', args)
def login(request):
    """
    Return a login page
    """
    if request.user.is_authenticated:
        """
        If the user is already authenticated, return them to the home page
        """
        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, "Login successful")
                return redirect(reverse('index'))
            else:
                login_form.add_error(None, "Incorrect username or password")
    else:
        login_form = UserLoginForm()
    return render(request, 'login.html', {'login_form': login_form})
コード例 #18
0
def login(request):
    """A view that manages the login form"""
    if request.method == 'POST':
        user_form = UserLoginForm(request.POST)
        if user_form.is_valid():
            user = auth.authenticate(request.POST['username_or_email'],
                                     password=request.POST['password'])

            if user:
                auth.login(request, user)
                messages.error(request, "You have successfully logged in")

                if request.GET and request.GET['next'] != '':
                    next = request.GET['next']
                    return HttpResponseRedirect(next)
                else:
                    return redirect(reverse('posts'))
            else:
                user_form.add_error(None,
                                    "Your username or password are incorrect")
    else:
        user_form = UserLoginForm()

    args = {'user_form': user_form, 'next': request.GET.get('next', '')}
    return render(request, 'login.html', args)
コード例 #19
0
def login(request):
    if request.user.is_authenticated:
        return redirect(reverse('index'))

    if request.method == 'POST':
        '''we create an instance of UserLoginForm'''
        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 been succesfully logged in")
                return redirect(reverse('index'))
            else:
                login_form.add_error(
                    None, 'Your username or password are incorrect!')

    else:
        login_form = UserLoginForm()

    return render(request, 'login.html', {'login_form': login_form})
コード例 #20
0
ファイル: views.py プロジェクト: cdurri/wearesocial
def login(request, success_url=None):

    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 sucessfully logged in")

                return redirect(reverse('profile'))

            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)
コード例 #21
0
def login(request):
    """Render login page"""
    next_page = None
    if request.method == 'GET' and 'next' in request.GET:
        next_page = request.GET['next']
    elif request.method == 'POST' and 'next' in request.POST:
        next_page = request.POST['next']
    if request.user.is_authenticated:
        if next_page:
            # allow next parameter to be used when user attempts to short cut to a login required page
            return redirect(next_page)
        else:
            # if no next_page then go to challenges list page as that is the expected highest volume page
            return redirect(reverse('challenges'))
    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")

                if next_page:
                    # allow next parameter to be used when user attempts to short cut to a login required page
                    return redirect(next_page)
                else:
                    # if no next_page then go to challenges list page
                    return redirect(reverse('challenges'))
            else:
                login_form.add_error(None, "Username/email and password not valid.")
    else:
        login_form = UserLoginForm(initial={'next': next_page})

    return render(request, 'login.html', {"login_form": login_form})
コード例 #22
0
ファイル: views.py プロジェクト: MartinLoef/fs-homeowners
def SignIn(request):
    """log in"""
    if request.user.is_authenticated:
        return redirect(reverse('overview'))
    if request.method == "POST":
        login_form = UserLoginForm(request.POST)
        username = request.POST['username']
        user = User.objects.get(username=username)
        if user.is_active:

            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('overview'))

                else:
                    login_form.add_error(
                        None, "Your username or password is incorrect")
        else:
            login_form.add_error(None, "Your username is suspended")
    else:
        login_form = UserLoginForm()

    return render(request, 'SignIn.html', {'login_form': login_form})
コード例 #23
0
def login(request):
    """
    Render the login page
    """
    # First check if user is logged in. If True, redirect to the profile page
    if request.user.is_authenticated:
        return redirect(reverse('profile'))

    # If method is POST, log user in
    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")

    # If method is GET, render empty Login form
    else:
        form = UserLoginForm()

    args = {'form': form}
    args.update(csrf(request))
    return render(request, 'accounts/login.html', args)
コード例 #24
0
def login(request):
    
    """ If the user is already logged in, send them back to index page """
        
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    
    """ If user has sent login details, validate them """
    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, "Your user name or password is incorrect")
    
    else:
        
        """ Return a login page """
    
        # Set user login form = instance of UserLoginForm (see forms.py), 
        # notice the "()"" here, and display for user to log in
    
        login_form = UserLoginForm()
    
    return render(request, 'login.html', {"login_form": login_form})
コード例 #25
0
def login(request):
    """return a user 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 successfully 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})
コード例 #26
0
def login(request):
    """
    This function handles user login, returning the login page and form. 
    If the users login is successful they are redirected to the above index function, if not they are presented with an error message.
    """

    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)
                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})
コード例 #27
0
def login(request):
    """
    Returns the login page
    """
    active = "active"
    previous = request.GET.get('next', '/')
    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!")
                if previous is None:
                    return redirect(reverse('index'))
                elif previous is not None:
                    return HttpResponseRedirect(previous)
            else:
                login_form.add_error(
                    None, "Your username or password is incorrect!")
                return render(request, "login.html", {
                    "login_form": login_form,
                    'active4': active
                })
    else:
        login_form = UserLoginForm()
        return render(request, "login.html", {
            "login_form": login_form,
            'active4': active
        })
コード例 #28
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 successfully logged in!")

                """Check if user has a cart, create it if necessary"""
                try:
                    cart_get = Cart.objects.get(    #Gets an existing cart
                        user=user)                      
                    for cartLineItem in cart_get.cartlineitem_set.all():
                        print(cartLineItem)
                    
                except Cart.DoesNotExist:
                    cart_get = Cart(user=user)
                    cart_get.save()             #Create a new Cart
                request.session['cart'] = model_to_dict(cart_get)
                    
                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})
コード例 #29
0
def login(request):
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    if request.method == "POST":
        registration_form = UserRegistrationForm()
        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, 'Your username or password is incorrect..')

    else:
        login_form = UserLoginForm()

    registration_form = UserRegistrationForm()
    return render(request, 'register_login.html', {
        'registration_form': registration_form,
        'login_form': login_form
    })
コード例 #30
0
def checkout_login(request):
    """
    Redirect to login page if user attempts to proceed to checkout without logging in
    """
    # If user accesses this page if they are logged in then redirect to profile page
    if request.user.is_authenticated:
        return redirect(reverse('profile'))

    # If method is POST, log user in and redirect them back to checkout
    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('checkout'))
            else:
                form.add_error(None,
                               "Your email or password was not recognised")

    # If  method is GET, render blank login form
    else:
        form = UserLoginForm()

    args = {
        'form': form,
        'login_required_message': 'Please login below to proceed to checkout'
    }
    args.update(csrf(request))
    return render(request, 'accounts/login.html', args)
コード例 #31
0
def login(request):
    # Don't want to display the login page to users that are logged in.
    # Without this if statement in, we could access the login page by entering
    # the URL into the URL bar.
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    if request.method == 'POST':
        # We're going to pass in the request post as our other constructor
        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('profile'))
            else:
                login_form.add_error(None,
                                     "Your username or password is incorrect")
    else:
        # Create an instance of the login form
        login_form = UserLoginForm()

    # Pass that form to the template. We'll give our context dictionary and
    # that should be a string so the key is login form and the value is the
    # name of the form instance that we just created
    return render(request, "login.html", {'login_form': login_form})
コード例 #32
0
def login(request):
    """Return a login page"""
    if request.user.is_authenticated:  # we do not want to display the login page to users that are logged in it
        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 succesfully logged in!")

                if request.GET and request.GET['next'] != '':
                    next = request.GET['next']
                    return HttpResponseRedirect(next)
                else:
                    return redirect(reverse('index'))

            else:
                login_form.add_error(None,
                                     "Your username or password is incorrect")

    else:
        login_form = UserLoginForm()

    args = {"login_form": login_form, 'next': request.GET.get('next', '')}
    return render(request, 'login.html', args)
コード例 #33
0
def login(request):
    """
    Return the login page if the login form is valid
    else return an error message. Redirect the user back
    to the previous page for an url that requires login using
    next.
    """
    if request.user.is_authenticated:
        return redirect(reverse('profile'))
    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!")

                if request.GET and request.GET['next'] != '':
                    next = request.GET['next']
                    return HttpResponseRedirect(next)
                else:
                    return redirect(reverse('profile'))
            else:
                login_form.add_error(None, "Your username or password is incorrect")
    else:
        login_form = UserLoginForm()

    args = {'login_form': login_form, 'next': request.GET.get('next', '')}
    return render(request, 'accounts/login.html', args)
コード例 #34
0
def login(request):
    """
    return a login page
    """
    # login_form = UserLoginForm()
    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,
                                     "Your username or pasword is incorrect")

    else:
        login_form = UserLoginForm()
    return render(request, 'login.html', {"login_form": login_form})
コード例 #35
0
ファイル: views.py プロジェクト: sarahcrosby/djangoproject
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 successfully 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})
コード例 #36
0
ファイル: views.py プロジェクト: amcevoy83/musichub
def login(request, success_url=None):

    if request.user.is_authenticated():
        return redirect(reverse('profile'))

    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            try:
                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:
                    subscription_not_ended = arrow.now() < arrow.get(user.subscription_end)

                    if not subscription_not_ended:
                        form.add_error(None,"Your subscription has now ended")

                    form.add_error(None,"Your email or password was not recognised")

            except SubscriptionEnded:
                form.add_error(None,"Your subscription has now ended")

    else:
        form = UserLoginForm()

    args = {'form':form}
    args.update(csrf(request))
    return render(request, 'login.html', args)
コード例 #37
0
def login(request):
    if request.method == 'POST':
        # if submitting form create instance of form class and populate
        form = UserLoginForm(request.POST)
        if form.is_valid():  # if login form is valid
            # authenticate user:
            # 'auth' will find our class 'EmailAuth' in backends.py via the
            # backend list in settings.py and then call the authenticate method.
            user = auth.authenticate(email=request.POST.get('email'),
                                     password=request.POST.get('password'))
            if user is not None:
                auth.login(request, user)  # login user. login() is a django method. Sets up a user session.
                messages.success(request, "You have successfully logged in.")
                return redirect(reverse('profile'))
            else:
                form.add_error(None, "Your email or password is not recognised.")

    else:
        # if login link has been clicked show the empty login form
        form = UserLoginForm()

    args = {'form': form}
    args.update(csrf(request))
    return render(request, 'login.html', args)