示例#1
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter_by(name=data['name']).first()
        if user ==None :
            flash("密码或账号错误",'err')
            return redirect(url_for("home.login"))
        if not user.check_pwd(data['pwd']):
            flash('密码或账号错误','err')
            return redirect(url_for("home.login"))
        if user.status==0:
            flash('账号被冻结','err')
        session['username'] = data['name']
        session['user_id']=user.id
        userlog=Userlog(
            user_id=user.id,
            # 获取ip
            ip=request.remote_addr
        )
        db.session.add(userlog)
        db.session.commit()
        return redirect(request.args.get('next') or url_for('home.index',page=1))

    username = get_username()
    if username != None:
        context = {
            'login': username
        }
    else:
        context = {
            'login': "******"
        }

    return render_template("home/login.html",form=form,context=context)
示例#2
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        users = []
        # user = User.query.filter_by(phone=data['name']).first()
        users.append(User.query.filter_by(name=data['name']).first())
        users.append(User.query.filter_by(email=data['name']).first())
        users.append(User.query.filter_by(phone=data['name']).first())
        print(users)
        # 另一种方法是先去除列表中的None,在进行判断
        for user in users:
            if user:
                if not user.check_pwd(data['pwd']):
                    # flash("密码不正确!", "err")
                    flash("登录名或登录密码不正确!", "err")
                    return redirect(url_for("home.login"))
                session["user"] = user.name
                session["user_id"] = user.id
                ip = request.remote_addr
                address = admin_address(ip)
                userlog = Userlog(
                    user_id=user.id,
                    # ip=request.remote_addr
                    ip=ip,
                    address=address,
                )
                db.session.add(userlog)
                db.session.commit()
                return redirect(url_for("home.user"))
        # flash("用户不存在,请重新输入!", "err")
        flash("登录名或登录密码不正确!", "err")
        return redirect(url_for("home.login"))
    return render_template('home/login.html', form=form)
示例#3
0
def login():
    # 实例化表单
    form = LoginForm()
    # 数据库操作
    if form.validate_on_submit():  # 提交表单时进行验证
        # 获取输入的数据
        data = form.data

        # 判断输入的账号是否正确
        user_count = User.query.filter_by(
            name=data["name"]).count()  # 读取数据库里数据的个数
        if user_count == 0:
            flash("账号错误!", "err")
            return redirect(url_for("home.login"))

        # 数据库里筛选查找tag名是否有相同的
        user = User.query.filter_by(name=data["name"]).first()
        if not user.check_pwd(data['pwd']):  # 如果密码错误
            flash("密码错误!", "err")
            return redirect(url_for("home.login"))

        # 密码正确,就保存到session里
        session["user"] = data["name"]
        # 保存id,用于日志
        session["user_id"] = user.id

        userlog = Userlog(user_id=user.id, ip=request.remote_addr)
        db.session.add(userlog)
        db.session.commit()
        return redirect(url_for("home.user"))
    return render_template('home/login.html', form=form)
示例#4
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter_by(name=data['name']).first()

        if not user:
            flash("账号不存在!", 'err')
            return redirect(url_for("home.login"))

        if not user.check_pwd(data['pwd']):
            flash("密码错误!", 'err')
            return redirect(url_for("home.login"))

        # 账号冻结
        if not user.status == 0:
            flash("该账号已经被冻结了,请联系客服!", 'err')
            return redirect(url_for("home.login"))

        session['user'] = data['name']
        session['user_id'] = user.id
        userlog = Userlog(
            user_id=session['user_id'],
            ip=request.remote_addr,
        )
        db.session.add(userlog)
        db.session.commit()
        return redirect(request.args.get('next') or url_for("home.user"))
    return render_template('home/new_login.html', form=form)
示例#5
0
def login():
    """登录"""
    if "user_id" in session:  # 如果已经登录,则直接跳转到首页
        return redirect(url_for("home.index"))
    form = LoginForm()  # 实例化LoginForm类
    if form.validate_on_submit():  # 如果提交
        data = form.data  # 接收表单数据
        # 判断验证码
        if session.get('image').lower() != form.verify_code.data.lower():
            flash('验证码错误', "err")
            return render_template("home/login.html", form=form)  # 返回登录页
        # 判断用户名是否存在
        user = User.query.filter_by(
            username=data["username"]).first()  # 获取用户信息
        if not user:
            flash("用户名不存在!", "err")  # 输出错误信息
            return render_template("home/login.html", form=form)  # 返回登录页
        # 判断用户名和密码是否匹配
        if not user.check_password(
                data["password"]):  # 调用check_password()方法,检测用户名密码是否匹配
            flash("密码错误!", "err")  # 输出错误信息
            return render_template("home/login.html", form=form)  # 返回登录页

        session["user_id"] = user.id  # 将user_id写入session, 后面用户判断用户是否登录
        session["username"] = user.username  # 将user_id写入session, 后面用户判断用户是否登录
        session['email'] = user.email
        return redirect(url_for("home.index"))  # 登录成功,跳转到首页
    return render_template("home/login.html", form=form)  # 渲染登录页面模板
示例#6
0
def login():
    '''
    用户登陆
    '''
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        name = data["name"]
        user = User.query.filter_by(name=name).first()
        if user:
            if check_password_hash(user.pwd, form.pwd.data):
                # 记录登陆信息
                session["user"] = user.name
                session["user_id"] = user.id

                # 用户登陆日志
                userlog = Userlog(
                    user_id=user.id,
                    # ip=request.headers['X-Real-IP']
                    ip=request.remote_addr
                )
                db.session.add(userlog)
                db.session.commit()

                return redirect(url_for("home.index", page=1))
            else:
                flash("密码错误请重试", "success")
                return redirect(url_for("home.login"))
        else:
            flash("用户未注册,请先进行注册", "success")
            time.sleep(5)
            return redirect(url_for("home.register"))
    return render_template("home/login2.html", form=form)
示例#7
0
def login():
    from app.models import User, Userlog
    form = LoginForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        user = User.query.filter_by(name=username).first()
        if user and user.verify_password(password):
            # session信息的保存
            session['user_id'] = user.id
            session['user'] = user.name
            flash("用户%s登录成功" % (user.name))
            remote_ip = request.remote_addr
            # 将登录信息写到日志中;
            userlog = Userlog(user_id=user.id,
                              ip=remote_ip,
                              area='xxx内网IP')
            db.session.add(userlog)
            db.session.commit()

            # 从index蓝图里面寻找index函数;
            return redirect(url_for('home.user'))
        else:
            flash("用户登录失败")
            return redirect(url_for('home.login'))
    return render_template('home/login.html',
                           form=form)
示例#8
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('account.debit'))

    form = LoginForm(next_page='')

    if request.method == 'GET':
        form.next_page.data = request.args.get('next')

    if form.validate_on_submit():
        authenticated_user = user.authenticate(form.username.data, form.password.data)

        if authenticated_user:
            next_page = form.next_page.data

            if not is_safe_url(next_page):
                next_page = None

            login_user(authenticated_user)
            return redirect(next_page or url_for('account.debit'))

        else:
            return _render_login(LoginForm(next_page=''), error='Please check your username and password')

    return _render_login(form)
示例#9
0
def login() -> Union[str, None, werkzeug.wrappers.Response]:
    form = LoginForm()
    if request.method == 'GET':
        return render_template('home/login.html', form=form)
    else:
        if form.validate_on_submit() is True:  # 验证格式
            data = form.data
            user_field = User.query.filter_by(name=data['name']).first()
            if check_pwd(form) is True:  # 验证密码
                session.update({
                    'user': user_field.name,
                    'user_id': user_field.id
                })
                # 储存用户登录日志信息
                user_log = UserLog(
                    user_id=user_field.id,
                    ip=request.remote_addr,
                )
                db.session.add(user_log)
                db.session.commit()
                return redirect(
                    request.args.get('next') or url_for('home.user'))
            else:
                flash('密码验证失败', 'err')
        else:
            flash('用户名或密码格式不正确', 'err')
        return redirect(url_for('home.login'))
示例#10
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        if data["usertype"] == 1:
            customer = Customer.query.filter_by(email=data["email"]).first()
            if not customer.check_pwd(data["password"]):
                flash("Wrong password!")
                return redirect(url_for("home.login"))
            session["username"] = data["email"]
            session["url"] = "customer.index"
            session["type"] = 1
            return redirect(url_for("home.index"))
        if data["usertype"] == 2:
            agent = Agent.query.filter_by(email=data["email"]).first()
            if not agent.check_pwd(data["password"]):
                flash("Wrong password!")
                return redirect(url_for("home.login"))
            session["username"] = data["email"]
            session["url"] = "agent.index"
            session["type"] = 2
            return redirect(url_for("home.index"))
        if data["usertype"] == 3:
            staff = Staff.query.filter_by(username=data["email"]).first()
            if not staff.check_pwd(data["password"]):
                flash("Wrong password!")
                return redirect(url_for("home.login"))
            session["username"] = data["email"]
            session["url"] = "staff.index"
            session["type"] = 3
            return redirect(url_for("staff.index"))
    return render_template("home/login.html",form=form)
示例#11
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user_co = 0
        if User.query.filter_by(name=data['name']).count():
            user = User.query.filter_by(name=data['name']).first()
            user_co = 1
        elif User.query.filter_by(email=data['name']).count():
            user = User.query.filter_by(email=data['name']).first()
            user_co = 1
        elif User.query.filter_by(phone=data['name']).count():
            user = User.query.filter_by(phone=data['name'])
            user_co = 1
        if not user_co or not user.check_pwd(data['pwd']):
            flash('登录失败', 'err')
            return redirect(url_for('home.login'))
        session['user'] = user.name
        session['user_id'] = user.id
        # flash('用户登陆成功', 'ok')
        userlog = Userlog(
            user_id=user.id,
            ip=request.remote_addr
        )
        db.session.add(userlog)
        db.session.commit()
        return redirect(url_for('home.index'))
    return render_template('home/login.html', form=form)
示例#12
0
def login():
    """
    登录
    """
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter_by(name=data["name"]).first()
        if user:
            if not user.check_pwd(data["pwd"]):
                flash("密码错误!", "err")
                return redirect(url_for("home.login"))
        else:
            flash("账户不存在!", "err")
            return redirect(url_for("home.login"))
        session["user"] = user.name
        session["user_id"] = user.id
        userlog = Userlog(
            user_id=user.id,
            ip=request.remote_addr
        )
        db.session.add(userlog)
        db.session.commit()
        return redirect(url_for("home.user"))
    return render_template("home/login.html", form=form)
示例#13
0
def login():
    form = LoginForm()
    if request.method == "GET":
        form.contact.flags.required = False
        form.pwd.flags.required = False
    if form.validate_on_submit():
        data = form.data
        user = User()
        if re.match(r"^1[34578]\d{9}$", data["contact"]):
            user = User.query.filter_by(phone=data["contact"]).first()
        elif re.match(
                r"^[0-9a-zA-Z_]{0,19}@[0-9a-zA-Z]{1,13}\.[com,cn,net]{1,3}$",
                data["contact"]):
            user = User.query.filter_by(email=data["contact"]).first()
        else:
            user = User.query.filter_by(name=data["contact"]).first()
        if user is not None and user.check_pwd(data["pwd"]):
            userlog = UserLog(user_id=user.id, ip=request.remote_addr)
            try:
                db.session.add(userlog)
                db.session.commit()
                session["user"] = user.name
                session["user_id"] = user.id
                return redirect(
                    request.args.get("next") or url_for("home.user"))
            except Exception as e:
                print(e)
                flash("用户登录日志录入错误请联系管理员", "error")
                db.session.rollback()
        else:
            flash("账号或者密码错误", "error")
    return render_template("home/login.html", form=form)
示例#14
0
文件: views.py 项目: dijiuyue/BBS
def user_login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter_by(name=data["name"]).first()
        # if session.get('image').lower() != form.verify_code.data.lower():
        #     flash('验证码错误')
        #     return render_template('home/user_login.html', form=form)
        print("用户激活状态" + str(user.activate))
        if user.activate:
            if not user.check_pwd(data["pwd"]):
                flash("用户名或密码错误!")
                return redirect(url_for("home.user_login"))
            session["user"] = data["name"]
            session["user_id"] = user.id
            userloginlog = UserLoginLog(user_id=user.id,
                                        ip=request.remote_addr,
                                        addtime=time.strftime(
                                            "%Y-%m-%d %H:%M:%S",
                                            time.localtime()))
            db.session.add(userloginlog)
            db.session.commit()
            return redirect(request.args.get('next') or url_for("home.index"))
        else:
            flash("用户尚未激活,请激活以后再登录")
    return render_template('home/user_login.html', form=form)
示例#15
0
def login():
    """
    登陆
    """
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter_by(name=data['name']).first()
        if not user:
            flash("用户名错误,请重新输入!", category="err")
            return redirect(url_for("home.login"))

        if not user.check_pwd(data['pwd']):
            flash("密码错误,请重新输入!", category="err")
            return redirect(url_for("home.login"))
        session['user'] = user.name
        session['user_id'] = user.id
        userlog = Userlog(
            user_id=user.id,
            ip=request.remote_addr
        )
        db.session.add(userlog)
        db.session.commit()
        next = request.args.get('next')
        if not next or not next.startswith('/'):
            next = url_for('home.index')
        return redirect(next)
    return render_template('home/login.html', form=form)
示例#16
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter_by(name=data["name"]).first()
        if user:
            if not user.check_pwd(
                    data["pwd"]):  # 密码采用pbkdf2:sha256方式加密-所以要用这种方案判断密码
                flash("密码错误!", "err")
                return redirect(url_for("home.login"))
        else:
            flash("账户不存在!", "err")
            return redirect(url_for("home.login"))

        vclass = user.get_vclass()
        if vclass < 0:
            flash("账户已经被注销,请联系管理员处理!", "err")
            return redirect(url_for("home.login"))

        session["user"] = user.name
        session["user_id"] = user.id
        session["vclass"] = vclass

        return redirect(url_for("home.welcome"))
    return render_template("home/login.html", form=form)
示例#17
0
def login():
    """
    登录
    """
    form = LoginForm()              # 实例化LoginForm类
    if form.validate_on_submit():   # 如果提交
        data = form.data            # 接收表单数据
        # 判断用户名和密码是否匹配
        user = User.query.filter_by(email=data["email"]).first()    # 获取用户信息
        if not user :
            flash("邮箱不存在!", "err")           # 输出错误信息
            return redirect(url_for("home.login")) # 调回登录页
        if not user.check_pwd(data["pwd"]):     # 调用check_pwd()方法,检测用户名密码是否匹配
            flash("密码错误!", "err")           # 输出错误信息
            return redirect(url_for("home.login")) # 调回登录页

        session["user_id"] = user.id                # 将user_id写入session, 后面用户判断用户是否登录
        # 将用户登录信息写入Userlog表
        userlog = Userlog(
            user_id=user.id,
            ip=request.remote_addr
        )
        db.session.add(userlog) # 存入数据
        db.session.commit()     # 提交数据
        return redirect(url_for("home.index")) # 登录成功,跳转到首页
    return render_template("home/login.html", form=form) # 渲染登录页面模板
示例#18
0
def login():
    form = LoginForm()  # 导入登录表单
    if form.validate_on_submit():  # 验证是否有提交表单
        data = form.data
        user = User.query.filter_by(phone=data["phone"]).first()
        if not user.check_pwd(data["pwd"]):
            flash("密码错误!", "err")
            return redirect(url_for("home.login"))
        session["user"] = data["phone"]
        session["user_id"] = user.id
        return redirect(request.args.get("next") or url_for("home.user"))
    return render_template("home/login.html", form=form)
示例#19
0
def login():
    if request.method == "GET":
        url = request.headers.get("Referer", "/")
        last = url.split("/")[-2]
        if last == "login":
            url = "/"
        session["url"] = url

        # 如果用户已经登陆,直接返回原来地址
        if "user_id" in session:
            return redirect(session["url"])

        # 如果传递过来的cookie中存在邮箱和uid,则直接进行验证
        if "uemail" in request.cookies and "uid" in request.cookies:
            user = User.query.filter_by(
                uemail=request.cookies.get("uemail")).first()
            if user and check_password_hash(request.cookies.get("uid"),
                                            str(user.id)):
                session["user_id"] = user.id
                userlog = Userlog(user.id,
                                  request.remote_addr)  #验证通过之后,将用户登录的信息添加
                db.session.add(userlog)  #到userlog表中,并将网页首页返回给用户
                db.session.commit()
                resp = redirect(session["url"])
                return resp

    form = LoginForm()
    if form.validate_on_submit():  #当点击登录时,验证登录规则并查看该邮箱是否已经注册
        user = User.query.filter_by(uemail=form.data["uemail"]).first()
        if not user:
            flash("邮箱未注册", "err")
            return redirect(url_for("home.login"))
        if check_password_hash(user.upwd, form.data["upwd"]) is False:
            flash("密码不正确", "err")
            return redirect(url_for("home.login"))

        session["user_id"] = user.id
        userlog = Userlog(user.id, request.remote_addr)  #验证通过之后,将用户登录的信息添加
        db.session.add(userlog)  #到userlog表中,并将网页首页返回给用户
        db.session.commit()
        url = session.get("url", "/")
        resp = redirect(url)

        # 如果用户设置了保存密码,则将用户邮箱和用户id进行哈西加密后保存到cookie中
        if form.saveupwd.data:
            resp.set_cookie("uemail", form.data["uemail"], 60 * 60 * 24 * 7)
            save_session = str(session["user_id"])
            upwd_hash = generate_password_hash(save_session)
            resp.set_cookie("uid", upwd_hash, 60 * 60 * 24 * 7)
            return resp
        else:
            return resp
    return render_template("base/login.html", form=form)
示例#20
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter_by(name=data["name"]).first()
        if user.check_pwd(data["pwd"]):
            userlog = UserLog(user_id=user.id, ip=request.remote_addr)
            db.session.add(userlog)
            db.session.commit()
            session["name"] = user.name
            return redirect(url_for("home.user"))
    return render_template("home/login.html", form=form)
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter_by(id=data["account"]).first()
        if not user.check_pwd(data["pwd"]):
            flash("密码错误")
            return redirect(url_for("home.login"))
        session["id"] = user.id
        session["user_id"] = user.id
        return redirect(request.args.get("next") or url_for("home.user"))
    return render_template("home/login.html", form=form)
示例#22
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter_by(name=data["name"]).first()
        if not user.check_pwd(data["pwd"]):
            flash("密码错误", "err")
            return redirect(url_for("home.login"))
        session["user"] = user.name
        session["user_id"] = user.id
        return redirect(url_for("home.index"))
    return render_template('home/login.html', form=form)
示例#23
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        account = data['account']
        account = Accounts.query.filter_by(username=account).first()
        if not account.check_pass_hash(data['pwd']):
            return redirect(url_for('home.login', error='密码错误!'))
        session['user'] = data['account']
        session['confirmed'] = 1

        return redirect(url_for('home.userpage', username=data['account']))
    return render_template('home/login.html', form=form)
示例#24
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        name = data['name']
        pwd = data['pwd']
        userdata = getuser()
        for user in userdata:
            if name == user['username'] and pwd == user['password']:
                session['username'] = user['username']
                session['password'] = user['password']
                return redirect(url_for('home.index'))
        flash("账号或密码错误", "error")
    return render_template("home/login.html", form=form)
示例#25
0
def login():
    loginForm = LoginForm()
    loginData = loginForm.data
    if loginForm.validate_on_submit():
        user = User.query.filter_by(name=loginData['name']).first()
        if not user.check_pwd(loginData['pwd']):
            flash('密码有误,请重新输入!', 'error')
            redirect(url_for('home.login'))
        session['user'] = user.name
        session['id'] = user.id
        userLoginLog = UserLoginLog(user_id=user.id, ip=request.remote_addr)
        db.session.add(userLoginLog)
        db.session.commit()
        return redirect(url_for('home.index', page=1))
    return render_template('home/login.html', form=loginForm)
示例#26
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter_by(name=data['name']).first()
        if not user.check_pwd(data['pwd']):
            flash('密码错误!', category='err')  # 密码错误颜色不是红色,待修改
            return redirect(url_for('home.login'))
        session['login_user'] = user.name
        session['login_user_id'] = user.id
        userlog = UserLog(user_id=user.id, ip=request.remote_addr)
        db.session.add(userlog)
        db.session.commit()
        return redirect(url_for('home.user'))
    return render_template('home/login.html', form=form)
示例#27
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter_by(email=data["email"]).first()
        if not user:
            flash("账号不存在")
            return redirect(url_for("home.login"))
        if not user.check_pwd(data["password"]):
            flash("密码错误")
            return redirect(url_for("home.login"))
        session["nickname"] = user.nickname
        session["userid"] = user.id
        return redirect(url_for("home.index"))
    return render_template("home/login.html", form=form)
示例#28
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter(
            or_(User.name == data["account"], User.email == data["account"], User.phone == data["account"])).first()
        if user.pwd == data["pwd"]:
            session["user"] = user.name
            session["user_id"] = user.id
            util.InsertUserlog()
            return redirect(url_for("home.user"))
        else:
            flash("登录失败", "err")
            return render_template("home/login.html", form=form)
    return render_template("home/login.html", form=form)
示例#29
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        remember = form.remember.data
        user = User.query.filter_by(username=username).first()
        if not user:
            flash('该用户不存在')
        elif User.query.filter_by(password=password).first():
            login_user(user, remember=remember)
            return redirect(request.args.get('next') or url_for('home.main'))
        else:
            flash('无效的密码')
    return render_template('home/login.html', title='Login', form=form)
示例#30
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter_by(email=data["email"]).first()
        if not user.check_pwd(data["pwd"]):
            flash("密码错误!", "err")
            return redirect(url_for("home.login"))
        session["user"] = user.email
        userlog = UserLog(user_id=user.id, ip=request.remote_addr)
        db.session.add(userlog)
        db.session.commit()
        return redirect(
            request.args.get("next") or url_for("home.index", page=1))
    return render_template("home/login.html", form=form)
示例#31
0
文件: views.py 项目: varchar2012/test
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = User.query.filter_by(name=data["name"]).first()
        if not user.check_pwd(data["pwd"]):
            flash("密码错误!", "err")
            return redirect(url_for("home.login"))
        session["user"] = user.name
        session["user_id"] = user.id
        userlog = Userlog(
            user_id=user.id,
            ip=request.remote_addr
        )
        db.session.add(userlog)
        db.session.commit()
        return redirect(url_for("home.user"))
    return render_template("home/login.html", form=form)
示例#32
0
def login_view():
    users = {'testteam': '123321a', 'dev': 'dev2016', 'admin': 'admin.com'}

    for k, v in request.args.iteritems():
        print(k, v)
    result = None
    form = LoginForm()
    if form.validate_on_submit():
        if form.user.data in users and form.password.data == users.get(form.user.data):
            user = UserMixin()
            user.id = form.user.data
            login_user(user=user, remember=True)
            flash(u"登录成功.")

            return redirect(request.args.get("next") or "/")
        else:
            result = u'登录失败,账号不存在或者密码错误'
    return render_template('home/login.html', form=form, result=result)
示例#33
0
def signin():

    # If sign in form is submitted
    form = LoginForm(request.form)

    # Verify the sign in form
    if form.validate_on_submit():

        user = User.query.filter_by(email=form.email.data).first()

        if user and check_password_hash(user.password, form.password.data):

            session['user_id'] = user.id

            flash('Welcome %s' % user.name)

            return redirect(url_for('home.home'))

        flash('Wrong email or password', 'error-message')

    return render_template("home/signin.html", form=form)