コード例 #1
0
ファイル: views.py プロジェクト: tangcongyuan/eric-django
def login(request):
    loginForm = UserLoginForm()
    # Dealing with user authentication situation.
    if request.method == 'POST':
        loginForm = UserLoginForm(request.POST)
        context = { 'loginForm': loginForm }
        #print request.session.modified # False
        print request.user
        if loginForm.is_valid():
            username = request.POST.get('username', '')
            password = request.POST.get('password', '')
            user = auth.authenticate(username=username, password=password)
            #print request.session.modified # False
            if user is not None:
                auth.login(request, user)
                #print request.session.modified # True
                request.session.set_expiry(10)
                #print request.session.modified # True
                return redirect('player_loggedIn')
            else:
                context['playerDoesNotExist'] = 'Please check your username and/or password.'
                return render(request, 'login.html', context)
        else:
            return render(request, 'login.html', context)
    
    else:
        context = { 'loginForm': loginForm }
        return render(request, 'login.html', context)
コード例 #2
0
def auth_login(request):
	print (request.user.is_authenticated())
	next = request.GET.get('next')
	title = "Login"
	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)
		if user is not None:
			login(request, user)
			if next:
				return HttpResponseRedirect(next)
			print (request.user.is_authenticated())

			#redirect url link comes in here
			return redirect("logged_in")
			action_url = reverse("login")
			extra_form_link = "Upgrade your account today <a href='%s'>here</a>!" %(reverse("account_upgrade"))

	context = {
		"form":form,
		"title":title,
	}
	return render(request, "form.html", context)
コード例 #3
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)
コード例 #4
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})
コード例 #5
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)
コード例 #6
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})
コード例 #7
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)
コード例 #8
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)
コード例 #9
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})
コード例 #10
0
def user_login(request):
    """用户登录"""
    next_url = request.GET.get("next", "index")

    if request.method == "POST":
        form = UserLoginForm(request=request, data=request.POST)
        client = VerifyCode(request)
        code = request.POST.get("vcode", None)
        rest = client.validate_code(code)

        # 检验表单是否通过验证
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request,
                                username=data["username"],
                                password=data["password"])
            if user:
                login(request, user)
                request.session["user_id"] = user.id
                return redirect(next_url)
        else:
            print(form.errors)
    else:
        form = UserLoginForm(request)
    return render(request, "login.html", {
        "form": form,
        "next_url": next_url,
    })
コード例 #11
0
    def test_valid_login(self):
        form = UserLoginForm({
            'username_or_email': 'christian',
            'password': '******',
        })

        self.assertTrue(form.is_valid())
コード例 #12
0
ファイル: test_forms.py プロジェクト: Diagnost1X/bcm-training
    def test_login_form_submits_with_valid_data(self):
        form = UserLoginForm({
            'email': '*****@*****.**',
            'password': '******'
        })

        self.assertTrue(form.is_valid())
コード例 #13
0
ファイル: test_forms.py プロジェクト: Diagnost1X/bcm-training
    def test_login_form_fails_with_incorrectly_formatted_email(self):
        form = UserLoginForm({
            'email': 'paulsmithcom',
            'password': '******'
        })

        self.assertFalse(form.is_valid())
コード例 #14
0
def userlogin(request):
    form = UserLoginForm()
    if request.user.is_authenticated:
        return redirect('accounts:dashboard')

    elif request.method == "POST":
        form = UserLoginForm(data=request.POST)
        nextvalue = request.POST.get('next')

        if form.is_valid():
            username = form.cleaned_data.get('username').lower()
            password = form.cleaned_data.get('password')

            user = authenticate(request, username=username, password=password)
            print(user)
            if user is not None:
                if user.is_staff or user.is_superuser:
                    login(request, user)
                    if nextvalue:
                        return redirect(nextvalue)
                    else:
                        return redirect('admindashboard')

                elif user.is_active:
                    login(request, user)
                    if nextvalue:
                        return redirect(nextvalue)
                    else:
                        return redirect('accounts:dashboard')
            else:
                print(f"{username} tried to login with {password}")
                return render(request, 'login.html', context={'form': form})

    return render(request, 'login.html', context={'form': form})
コード例 #15
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})
コード例 #16
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
        })
コード例 #17
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})
コード例 #18
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})
コード例 #19
0
 def test_user_login_form(self):
     #test if the form is valid
     form = UserLoginForm(data={
         'username_or_email': '*****@*****.**',
         'password': '******',
     })
     self.assertTrue(form.is_valid())
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})
コード例 #21
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)
コード例 #22
0
ファイル: views.py プロジェクト: ronanphiggins/fleeky_notif
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)




                return redirect(profile)

            else:
                messages.error(request, "Unable to log you in! Please try again.")

                return redirect(register)

        else:

            messages.error(request, "Unable to log you in! Please try again.")

            return redirect(register)
コード例 #23
0
def login(request):
    """
    Creates the login page
    :param request: The request type
    :return: login page
    """
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            user = auth.authenticate(username=request.POST.get('email'),
                                     password=request.POST.get('password'))

            if user is not None:
                auth.login(request, user)
                messages.success(request, 'You have successfully logged in.')
                if 'next' in request.POST:
                    return redirect(request.POST.get('next'))
                else:
                    return redirect(reverse('index'))
            else:
                messages.error(request, 'Your email or password was not recognized.')

    else:
        form = UserLoginForm()

    args = {'form': form}
    args.update(csrf(request))
    return render(request, 'login.html', args)
コード例 #24
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.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)
コード例 #25
0
def login(request):
    """Return a login page"""
    if request.user.is_authenticated:
        return redirect(reverse('about'))

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


#              """  messages.success(request, "You have successfully logged in!")"""
            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):
    """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})
コード例 #27
0
def login(request):
    """Return a login page"""

    if request.user.is_authenticated:
        messages.success(request, 'You are already logged in!')
        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()

    context = {
        'login_form': login_form,
        'login_page': 'active',
        'title': 'Login'
    }
    return render(request, 'login.html', context)
コード例 #28
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)
コード例 #29
0
def login(request):

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

    if request.method == "POST":

        print("Entering POST")
        login_form = UserLoginForm(request.POST)

        if login_form.is_valid():

            print("Form is valid")
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])

            if user:
                print("user is valid")
                messages.success(request, "You have successfully logged in!")
                auth.login(user=user, request=request)
                print("about to redirect to index")
                return redirect(reverse('index'))

            else:
                print("user was not valid")
                login_form.add_error(None,
                                     "Your username or password is incorrect")

    else:
        login_form = UserLoginForm()
    return render(request, 'login.html', {'login_form': login_form})
コード例 #30
0
def login(request):
    """ Return the login page """
    # If the user clicks 'login' when they are already logged in, take them back to the index page
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    if request.method == "POST":
        login_form = UserLoginForm(
            request.POST
        )  # The login form will be created with the data actually posted in from the form
        # You also need to check that data is valid
        if login_form.is_valid():
            # The below line authenticates the user and checks if the user has actually provided a correct username and password, although it won't on its own log the user in
            user = auth.authenticate(
                username=request.POST[
                    'username'],  # Retrieve the username from the POST dictionary
                password=request.POST['password'])

            # The authenticate will return a user object
            if user:  # If there is a user object (i.e the authentication was successful)
                auth.login(user=user, request=request)  # Log them in
                messages.success(
                    request, "You have logged in successfully"
                )  # Provide feedback in the event of a successful log in
                return redirect(
                    reverse('index'))  # Take the user back to the home page
            else:
                login_form.add_error(
                    None, "Invalid login"
                )  # 'None' means the error will just display on the form
    else:
        login_form = UserLoginForm()  # Else just create an empty object
    # login_form = UserLoginForm()# Create an instance of the login form
    return render(request, 'login.html', {"login_form": login_form})
コード例 #31
0
ファイル: views.py プロジェクト: igenedev1/project
def loginuser(request):
    # logging.getLogger('accounts').debug("here")
    if request.user.is_authenticated:
        return redirect("indexuser")
    next_url = request.GET.get('next', None)
    if request.method == "POST":
        form = UserLoginForm(request=request, data=request.POST)
        print(request.POST)
        next_url = request.POST.get('next', None)
        print(next_url)
        if form.is_valid():
            user = form.get_user()
            print(user.usertype)
            login(request, user)
            print("hereaftervalid")
            if next_url == None:
                return redirect("indexuser")
            # user is redirected to dashboard
            return redirect(next_url)
        else:
            print(form.errors)
    else:
        next_url = request.GET.get('next', None)
        form = UserLoginForm()

    if (next_url != None):
        return render(request, "login.html", {"form": form, "next": next_url})

    return render(request, "login.html", {"form": 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
ファイル: 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)
コード例 #34
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)
コード例 #35
0
ファイル: views.py プロジェクト: cdurri/deploy_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)
コード例 #36
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)
コード例 #37
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 'next' in request.GET:
                    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)
コード例 #38
0
def index(request):
    """ Shows the login form and handle the user login flow """
    # Check if the user is authenticated and redirect to index if True
    if request.user.is_authenticated:
        return redirect(reverse('sessions_index'))

    # If POST data is present
    if request.method == 'POST':
        # send it to the form
        login_form = UserLoginForm(request.POST)

        # Check if the form is valid
        if login_form.is_valid():
            # Authenticate the user
            user = auth.authenticate(username=request.POST.get('username'),
                                     password=request.POST.get('password'))
            # If the user authentication is complete
            if user:
                # Log the user in, redirect to the patient sessions and
                # show success message
                auth.login(user=user, request=request)
                return redirect(reverse('sessions_index'))
                messages.success(request, "You have successfully logged in!")
            else:
                # Show error message if form is invalid
                messages.error(request,
                               'Username and password combination is wrong.')
    else:
        login_form = UserLoginForm()
    return render(request, 'index.html', {'login_form': login_form})
コード例 #39
0
ファイル: views.py プロジェクト: Grass-man/monday.api
def login_view(request):
    next = request.GET.get("next")
    form = UserLoginForm(request.POST or None)
    title = "Login"
    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("/")

    context = {"form": form, "title": title}
    return render(request, "form.html", context)
コード例 #40
0
def post_list(request): #list items #this one is for homepage
    today = timezone.now().date()
    queryset_list = Post.objects.active() #.order_by("-timestamp")
    print (request.user.is_authenticated())
    next = request.GET.get('next')
    title = "Login"
    form = UserLoginForm(request.POST or None)

    if request.user.is_staff: #or request.user.is_admin:
        queryset_list = Post.objects.all()
    paginator = Paginator(queryset_list, 1) # Show 1 blog(s) per page
    page_request_var = 'page'
    page = request.GET.get( page_request_var )
    try:
        queryset = paginator.page(page)
    except PageNotAnInteger:
    # If page is not an integer, deliver first page.
        queryset = paginator.page(1)
    except EmptyPage:
    # If page is out of range (e.g. 9999), deliver last page of results.
        queryset = paginator.page(paginator.num_pages)

    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)
            if next:
                return HttpResponseRedirect(next)
            print (request.user.is_authenticated())

            #redirect url link comes in here
            return redirect("/")
            action_url = reverse("login")
            extra_form_link = "Upgrade your account today <a href='%s'>here</a>!" %(reverse("account_upgrade"))

    context = {
            "object_list":queryset,
            "title":"List",
            "form":form,
    		"title":title,
            "page_request_var":page_request_var,
            "today":today,
    }

    return render (request, "post_list.html", context)
コード例 #41
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})
コード例 #42
0
 def post(request):
     login_form = UserLoginForm(request.POST, request=request)
     if login_form.is_valid():
         user = authenticate(
             username=request.POST.get('username'),
             password=request.POST.get('password'),
         )
         if NEED_CONFIRM_EMAIL and not user.is_active:
             messages.success(request, u"账号需要激活, 请登陆您的邮箱激活, 或"
                                       u"点击<a href='" + DOMAIN +
                              reverse('accounts:resend_activate',
                                      kwargs={'username': request.POST.get('username')}) +
                              u"'>这里</a>重发激活邮件")
             return HttpResponseRedirect(reverse('accounts:index'))
         auth.login(request, user)
         messages.success(request, u'登录成功')
         if 'next' in request.GET:
             return HttpResponseRedirect(request.GET.get('next'))
         return HttpResponseRedirect(reverse('accounts:index'))
     else:
         return render(request, "accounts/form_tpl.html", {"form": login_form})
コード例 #43
0
ファイル: views.py プロジェクト: ronanphiggins/fleekydeploy
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)

                first_login = User.objects.filter(pk=request.user.id).values_list('first_login', flat=True)

                user_first_login = first_login[0]

                if user.date_joined.date() == user.last_login.date() and user_first_login:

                    User.objects.filter(pk=request.user.id).update(first_login = False)

                    return redirect(edit_profile)

                else:

                    return redirect(profile)

            else:
                messages.error(request, "Unable to log you in! Please try again.")

                return redirect(register)

        else:

            messages.error(request, "Unable to log you in! Please try again.")

            return redirect(register)
コード例 #44
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)