Exemple #1
0
def login():
    '''登录'''
    if request.method == 'POST':
        nickname = request.form.get('nickname', '').strip()
        password = request.form.get('password', '').strip()

        if not (nickname and password):
            return render_template('login.html', error='昵称或密码不能为空')

        # 先根据昵称取到当前用户
        try:
            user = User.query.filter_by(nickname=nickname).one()
        except (NoResultFound, MultipleResultsFound):
            return render_template('login.html', error='昵称或密码输入错误')

        # 检查密码
        if utils.check_password(password, user.password):
            # 登录
            session['uid'] = user.id
            session['nickname'] = user.nickname
            return redirect('/user/info')
        else:
            return render_template('login.html', error='昵称或密码输入错误')
    else:
        return render_template('login.html')
Exemple #2
0
def login():
    if request.method == 'POST':
        username = request.form.get('username', '').strip()
        password = request.form.get('password', '').strip()
        try:
            user = USER.query.filter_by(username=username).one()
        except NoResultFound:
            return render_template('login.html', err='用户昵称不存在')
        if check_password(password,user.password):
            session['uid'] = user.id
            session['username'] = user.username
            return redirect('/user/info')
        else:
            return render_template('login.html',err='密码错误')
    else:
        return render_template('login.html')
Exemple #3
0
def login():
    if request.method == 'POST':
        nickname = request.form.get('nickname', '').strip()
        password = request.form.get('password', '').strip()

        user = User.query.filter_by(nickname=nickname).first()
        if user is None:
            return render_template('login.html', error='用户名有误,请重新输入')
        if check_password(password, user.password):
            session['uid'] = user.id
            return redirect('/user/info')
        else:
            return render_template('login.html', error='密码有误,请重新输入')
    else:
        if 'uid' in session:
            return redirect('/user/info')
        else:
            return render_template('login.html')
Exemple #4
0
def login():
    if request.method == 'POST':
        username = request.form.get('username')
        password = request.form.get('password')

        # 查询数据库
        try:
            user = User.query.filter_by(username=username).one()
            if check_password(password, user.password):
                session['uid'] = user.id
                session['username'] = user.username
                return redirect('/user/info')
            else:
                return render_template('login.html', err='密码错误')
        except:
            return render_template('login.html', err='该用户不存在')
    else:
        return render_template('login.html')
Exemple #5
0
def login():
    '''用户登陆'''
    if request.method == 'POST':
        username = request.form.get('username', '').strip()
        password = request.form.get('password', '').strip()
        num = User.query.filter_by(username=username).count()
        if num == 0:
            return render_template('response.html', msg='用户名不存在!')
        user = User.query.filter_by(username=username).one()
        if not check_password(password, user.password):
            return render_template('response.html', msg='用户名密码错误!')
        # session记录username
        user = User.query.filter_by(username=username).one()
        session['username'] = username
        session['uid'] = user.uid
        # return render_template('home.html')
        return redirect('/user/info')
    else:
        return redirect('/')
Exemple #6
0
def update():
    uid = session.get('uid')
    user_info = Users.query.get(uid)

    if request.method == "GET":
        return render_template('update.html', user_info=user_info)
    else:
        old_password = request.form.get('old_password')
        new_password = request.form.get('new_password')
        new_tel = request.form.get('tel')

        if check_password(old_password, user_info.password) is False:
            return render_template('update.html', error=1, user_info=user_info)
        else:
            user_info.password = make_password(new_password)
            user_info.tel = new_tel
            db.session.commit()
            session.clear()
        return redirect('/')
Exemple #7
0
def login():
    if request.method == "GET":
        return render_template('login.html')
    else:
        username = request.form.get('username')
        password = request.form.get('password')

        try:
            u1 = Users.query.filter_by(username=username).one()
        except NoResultFound:
            return render_template('login.html', error=1)

        if check_password(password, u1.password) is True:
            session['uid'] = u1.id
            session['username'] = u1.username

            return redirect('/blog')
        else:
            return render_template('login.html', error=2)
Exemple #8
0
def login():
    if request.method == 'POST':
        nickname = request.form.get('nickname', '').strip()
        password = request.form.get('password', '').strip()

        #获取用户
        try:
            user = User.query.filter_by(nickname=nickname).one()
        except NoResultFound:
            return render_template('login.html', err='该用户不存在')
        # 检查密码
        if check_password(password, user.password):
            #在 Session 中记录用户登录的状态
            session['uid'] = user.id
            session['nickname'] = user.nickname
            return redirect('/user/info')
        else:
            return render_template('login.html', err='密码错误')
    else:
        return render_template('login.html')
Exemple #9
0
def login():
    uid = session.get('uid')
    if not uid:
        if request.method == 'POST':
            username = request.form.get('username')
            password = request.form.get('password')
            try:
                user = User.query.filter_by(username=username).one()
                if check_password(password, user.password):
                    session['uid'] = user.id
                    session['username'] = username
                    return redirect('/user/info')
                else:
                    return render_template('login.html', err='密码错误')

            except Exception:
                return render_template('register.html', err='请先注册')

        else:
            return render_template('login.html')
    else:
        return redirect('/user/info')
Exemple #10
0
def login():
    '''登录'''
    if request.method == 'POST':
        nickname = request.form.get('nickname', '').strip()
        password = request.form.get('password', '').strip()

        if not (nickname and password):
            return render_template('login.html', error='昵称或密码不能为空')

        try:
            user = User.query.filter_by(nickname=nickname).one(
            )  # 不加.one()的结果是一个列表,而不是实例对象,所以即使只取到一个结果还是要遍历列表,故!要加.one()来取列表中实例对象
        except (NoResultFound, MultipleResultsFound):  # 错误
            return render_template('/user/login.html')

        if utils.check_password(password, user.password):
            session['uid'] = user.id
            session['nickname'] = user.nickname
            return redirect('/user/info')
        else:
            return render_template('/user/login.html', error='昵称或密码输入错误')
    else:
        return render_template('/user/login.html')
Exemple #11
0
def login():
    # 登录信息提交
    if request.method == 'POST':
        username = request.form.get('username')
        password = request.form.get('password')

        # 判断用户名
        try:
            user = User.query.filter_by(username=username).one()
        except Exception:  # 如果是个不存在的用户名,那么取数据的时候肯定会报错的
            db.session.rollback
            return render_template('eu.html')

        # 判断密码
        if check_password(password, user.password):
            # 在 Session 中记录用户的登录状态
            session['username'] = user.username
            session['id'] = user.id
            return redirect('/user/info')
        else:
            return render_template('ep.html')
    # 登录页面拉起
    else:
        return render_template('login.html')