예제 #1
0
def do_login(request):
    try:
        if request.method == 'POST':
            login_form = LoginForm(request.POST)
            if login_form.is_valid():
                # 登录
                username = login_form.cleaned_data['username']
                password = login_form.cleaned_data['password']
                user = authenticate(username=username, password=password)
                if user is not None:
                    user.backend = 'django.contrib.auth.backends.ModelBackend'  # 指定默认登录验证方式
                    login(request, user)
                else:
                    return render(request, 'failure.html',
                                  {'reason': '登录验证失败'})
                return redirect(request.POST.get('source_url'))
            else:
                return render(request, 'failure.html',
                              {'reason': login_form.errors})
        else:
            login_form = LoginForm()
    except Exception as e:
        logger.error(e)

    return render(request, 'login.html', locals())
예제 #2
0
def login_view(request):  # Logins in user if request is valid.
    if request.user.is_authenticated:
        return redirect(reverse('show_all'))

    if request.method == 'POST':
        form = LoginForm(request.POST)

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

            if user is not None:
                if user.is_active:
                    login(request, user)
                    return redirect(reverse('show_all'))
                else:
                    form.add_error('username',
                                   'This account has been disabled.')
            else:
                form.add_error('username', 'Login failed')
    else:
        form = LoginForm()

    return render(request, 'registration/login.html', {'form': form})
예제 #3
0
def login(request: HttpRequest):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            return HttpResponseRedirect("/blog/")
    else:
        form = LoginForm()

    return render(request, "blog/login.html", {"form": form})
def login_function_base_view(request):
	if request.method == 'GET':
		form = LoginForm()
		return render(request, 'login.html', {'form': form})
	else:
		form = LoginForm(request.POST)
		if form.is_valid():
			return redirect('/products')
		else:
			return render(request, 'login.html', {'form': form})
예제 #5
0
def login(request):
    if request.method == 'POST':
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            user = login_form.cleaned_data['user']
            auth.login(request, user)
            return redirect(request.GET.get('from'), reverse('blog:index'))
    else:
        login_form = LoginForm()
    context = {'login_form': login_form}
    return render(request, 'blog/login.html', context)
예제 #6
0
파일: views.py 프로젝트: IronDukeLinux/bbs
def login2(request):
    res = {'code': 0}
    if request.method == "POST":
        gt = GeetestLib(pc_geetest_id, pc_geetest_key)
        challenge = request.POST.get(gt.FN_CHALLENGE, '')
        validate = request.POST.get(gt.FN_VALIDATE, '')
        seccode = request.POST.get(gt.FN_SECCODE, '')
        status = request.session[gt.GT_STATUS_SESSION_KEY]
        user_id = request.session["user_id"]
        if status:
            result = gt.success_validate(challenge, validate, seccode, user_id)
        else:
            result = gt.failback_validate(challenge, validate, seccode)
        if result:
            # 滑动验证码校验通过
            username = request.POST.get('username')
            pwd = request.POST.get('password')
            user = authenticate(username=username, password=pwd)
            if user:
                # 用户名密码正确
                login(request, user)
            else:
                # 用户名或密码错误
                res['code'] = 1
                res['msg'] = '用户名或密码错误'
        else:
            # 滑动验证码校验失败
            res['code'] = 1
            res['msg'] = '怪物吃掉了拼图'
        return JsonResponse(res)
    form_obj = LoginForm()
    return render(request, 'login2.html', {'form_obj': form_obj})
예제 #7
0
def login(request,template):
	if request.is_ajax():
		if request.method=="POST":
			if 'username' in request.POST and 'password' in request.POST:
				username=request.POST['username']
				password=request.POST['password']

				form=LoginForm({'username':username,'password':password})
				if form.is_valid():
					#return JsonResponse({'data':True})
					username=form.cleaned_data['username']
					password=form.cleaned_data['password']
					#return JsonResponse({'data':True})
					data=list(Ouser.objects.filter(username=username,password=password).values('id','username','nickname','img'))
					if data:
						#存储session
						data[0]['img']=Img.objects.filter(id=9).values('name')[0]['name']
						request.session[ip_str(request.META['REMOTE_ADDR'])]=data[0]
						#data[0]['username']
						return JsonResponse({'data':data[0]})
					else:
						return JsonResponse({'data':False})

			elif 'del' in request.POST:
				del request.session[ip_str(request.META['REMOTE_ADDR'])]
				return JsonResponse({'data':True})
	else:
		return render_to_response(template)
예제 #8
0
def Login(request):
    '''
	用户登录界面逻辑实现
	author:陈思齐
	:param request:
	:return:
	'''
    context = {}
    errors = ''
    if request.method == "GET":
        form = LoginForm
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            user = authenticate(username=email, password=password)
            if user and user.is_active:
                login(request, user)
                if request.POST["referer"] and 'register' not in request.POST[
                        "referer"]:
                    return redirect(request.POST["referer"])
                else:
                    return redirect(to='home')

    if "HTTP_REFERER" in request.META:
        context["referer"] = request.META["HTTP_REFERER"]
    else:
        context["referer"] = ""
    context['form'] = form
    context['errors'] = errors
    return render(request, "login.html", context)
예제 #9
0
def login():

    login_form = LoginForm()

    if login_form.validate_on_submit():

        # read values from the login wtform
        username = login_form.username.data
        password = login_form.password.data

        user = User.objects(username=username).first()

        # if user  != None:
        # check if credentials are valid
        if user and user.authenticate(username, password):
            # store the user ID in the session
            session['uid'] = str(user.id)
            session['username'] = user.username
            session['firstname'] = user.first_name
            session['lastname'] = user.last_name
            session['biography'] = user.biography
            session['role'] = user.role

        return redirect("/profile")

    # render the login template
    return render_template('login/login.html', form=login_form)
예제 #10
0
파일: views.py 프로젝트: xxxt/blog
def login(request):
    """用户登录"""
    hint = ''
    backurl = request.GET.get('backurl', 'blog:index')
    if request.method == 'POST':
        backurl = request.POST['backurl']
        form = LoginForm(request.POST)
        if form.is_valid():
            code_from_session = request.session.get('captcha_code')
            code_from_user = form.cleaned_data['code']
            if code_from_session.lower() == code_from_user.lower():
                username = form.cleaned_data['username']
                password = form.cleaned_data['password']
                user = User.objects.filter(username=username,
                                           password=password).first()
                if user:
                    request.session['userid'] = user.no
                    request.session['username'] = user.username
                    return redirect(backurl)
                else:
                    hint = '用户名或密码错误'
            else:
                hint = '请输入正确的验证码'
        else:
            hint = '请输入有效的登录信息'
    return render(request, 'blog/login.html', {
        'hint': hint,
        'backurl': backurl
    })
예제 #11
0
def list_postings(request, id='0'):
    #postings = cache.get('postings')
    #if postings is None:
    #    postings = Posting.objects.all().order_by('-date')[:10]
    #    cache.add('postings', postings)
    postings = Posting.objects.all().order_by('-date')[:11]
    form = LoginForm()
    return render(request, 'index.html', {'postings': postings, 'form': form})
예제 #12
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        login_user(user)
        return redirect(url_for('admin.blog_manage'))
    else:
        return render_template('login.html', form=form)
예제 #13
0
def user_login(request):
    if not request.user.is_authenticated:
        if request.method == "POST":
            form = LoginForm(request=request, data=request.POST)
            if form.is_valid():
                uname = form.cleaned_data['username']
                upass = form.cleaned_data['password']
                user = authenticate(username=uname, password=upass)
                if user is not None:
                    login(request, user)
                    messages.success(request, 'Logged in Successfully !!')
                    return HttpResponseRedirect('/blog/dashboard/')
        else:
            form = LoginForm()
        return render(request, 'blog/login.html', {'form': form})
    else:
        return HttpResponseRedirect('/blog/dashboard/')
예제 #14
0
def login_view(request, *args, **kwargs):
    if request.user.is_active is True:
        return redirect('blog:profile')
    if request.method == 'POST':
        form = LoginForm(request.POST)
        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 and user.is_authenticated():
                login(request, user)
                return redirect('blog:profile')
            else:
                return redirect('blog:login')
    else:
        form = LoginForm()
    return render(request, 'login.html', locals())
예제 #15
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash('Login requested for user {}, remember_me={}'.format(
            form.username.data, form.remember_me.data))
        return redirect(url_for('index'))

    return render_template('login.html', title='Sign In', form=form)
예제 #16
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        if form.email.data == '*****@*****.**' and form.password.data == 'password':
            flash('You have been logged in', 'success')
            return redirect(url_for('homepage'))
        else:
            flash('Login failed. Please enter valid details', 'danger')
    return render_template('login.html', title='Login', form=form)
예제 #17
0
def loginuser(request):
    if not request.user.is_authenticated:
        print(request.user)
        form = LoginForm()
        if request.method == "POST":
            form = LoginForm(request, data=request.POST)
            if form.is_valid():
                un = form.cleaned_data.get('username')
                pwd = form.cleaned_data.get('password')
                user = authenticate(request, username=un, password=pwd)
                if user is not None:
                    login(request, user=user)
                    return HttpResponseRedirect('/dashboard/')
        context = {}
        context['form'] = form
        return render(request, 'blog/login.html', context)
    else:
        return HttpResponseRedirect('/dashboard/')
예제 #18
0
def login(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect('/')

    if request.method == 'POST':
        form = LoginForm(request.POST)
        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:
                auth_login(request, user)
                return HttpResponseRedirect('/')
            else:
                return HttpResponseRedirect('/login')
    else:
        form = LoginForm()
    return render(request, 'login.html', {'form': form})
예제 #19
0
def login_view(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            pw = form.cleaned_data['password']
            user = authenticate(username=username, password=pw)
            if user is not None:
                login(request, user)
                return HttpResponseRedirect('/home')
            else:
                form.add_error('username', 'Login Failed')
    else:
        form = LoginForm()

    context = {'form': form}
    http_response = render(request, 'login.html', context)
    return HttpResponse(http_response)
예제 #20
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        if form.email.data == '*****@*****.**' and form.password.data == 'password':
            flash("You are now logged in!", 'success')
            return redirect(url_for('home'))
        else:
            flash("Login unsuccessful, please check email and password!" ,'danger')
        return redirect(url_for('login'))
    return render_template("login.html", title="Login", form=form)
예제 #21
0
def login_view():
    """
    Renders a login page and redirects to the index on completion
    """
    form = LoginForm(request.form)
    if request.method == 'POST' and form.validate():
        user = get_user(form.data['shortname'])
        login_user(user)
        return redirect(url_for('admin.index'))
    return render_template_with_models('login.html', form=form)
예제 #22
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        if form.email.data == '*****@*****.**' \
                and form.password.data == 'pass':
            flash('You logged in', 'success')
            return redirect(url_for('home'))
        else:
            flash('login unseccess', 'danger')
    return render_template('login.html', title='Login', form=form)
예제 #23
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        if form.email.data == '*****@*****.**' and form.password.data == 'password':
            flash('You have been logged in!', 'success')
            return redirect(url_for('home'))
        else:
            flash('Login Unsuccessful. Please check username and password',
                  'danger')
    return render_template('login.html', title='Login', form=form)
예제 #24
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        if form.email.data == "*****@*****.**" and form.password.data == "start":
            flash(f"You have been logged in!", "success")
            return redirect(url_for("home"))
        else:
            flash("Login Unsuccessful. Please check username and password",
                  "danger")
    return render_template("login.html", title="Login", form=form)
예제 #25
0
def login():
    if request.method == 'GET':
        session['logged_in'] = True  #写入session
        form = LoginForm()
        return render_template('login.html', form=form)
    else:
        name = request.form['username']
        if name:
            session['username'] = name
        return redirect(url_for('homepage1'))
예제 #26
0
def myaccount():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user is not None and user.verify_password(form.password.data):
            login_user(user)
            flash("You have succssfully logged in")
            return redirect(url_for("home"))
        else:
            flash("Unsuccessful, kindly check your details")
    return render_template("myaccount.html", title="Login", form=form)
예제 #27
0
def login_view(request):
    if request.user.is_authenticated:
        return HttpResponseRedirect("/home")
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            pw = form.cleaned_data["password"]
            user = authenticate(username=username, password=pw)
        if user is not None:
            login(request, user)
            return redirect("home")
        else:
            form.add_error("username", "Login failed")
    else:
        form = LoginForm()

    context = {"form": form}
    http_response = render(request, "login.html", context)
    return HttpResponse(http_response)
예제 #28
0
파일: routes.py 프로젝트: Hadiaj448/Amazon
def login():
    form=LoginForm()
    if form.validate_on_submit():
        user=User.query.filter_by(email=form.email.data,password=form.password.data).first()
        if user:
            login_user(user)
            flash(f'Welcome You Successfully loged in','success')
            return redirect(url_for('index'))
        else:
            flash(f'Login Unsuccessfull Try again','danger')
    return render_template('login.html',form=form,title='Login')
예제 #29
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user_attempt = User.query.filter_by(email=form.email.data).first()
        if user_attempt and user_attempt.check_password(form.password.data):
            login_user(user_attempt)
            flash(f'Success! You are logged in as {user_attempt.username}', category='success')
            return redirect(url_for('blogs'))
        else:
            flash("Username and Password are not match!", category='danger')
    return render_template('login.html', form=form)
예제 #30
0
def login(request):
    form = LoginForm(request.POST)
    context = {'form': form}
    if form.is_valid():
        username = request.POST["username"]
        password = request.POST["password"]
        user = auth.authenticate(username=username, password=password)
        if user is not None:
            auth.login(request, user)
            return redirect('home')
    return render(request, 'blog/login.html', context)