def user():
    form = UserdetailForm()
    user = User.query.get(int(session['user_id']))
    form.face.validators = []
    if request.method == 'GET':
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        file_face = secure_filename(form.face.data.filename)  # 获取上传的电影封面名称
        # 创建上传目录
        if not os.path.exists(app.config['FC_DIR']):
            os.makedirs(app.config['FC_DIR'])
            os.chmod(app.config['FC_DIR'], 0o666)
        # 修改文件名称为统一格式
        user.face = change_filename(file_face)
        form.face.data.save(app.config['FC_DIR'] + user.face)
        user.name = data['name']
        user.email = data['email']
        user.phone = data['phone']
        user.info = data['info']
        db.session.add(user)
        db.session.commit()
        flash("修改成功!", 'ok')
        return redirect(url_for('home.user'))
    return render_template('home/user.html', form=form, user=user)
Beispiel #2
0
def user():
    form = UserdetailForm()
    print(session['user_id'])
    user = User.query.get(int(session['user_id']))
    form.face.validators = []
    if request.method == "GET":
        # give the first value
        #form.name.data = user.name
        form.email.data = user.email
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        if form.face.data != "":
            file_face = secure_filename(form.face.data.filename)
            if not os.path.exists(app.config["FC_DIR"]):
                os.makedirs(app.config["FC_DIR"])
                os.chmod(app.config["FC_DIR"], "rw")
            user.face = change_filename(file_face)
            form.face.data.save(app.config["FC_DIR"] + user.face)

        email_count = User.query.filter_by(email=data["email"]).count()
        if data["email"] != user.email and email_count == 1:
            flash("This Email Already Exists!", "err")
            return redirect(url_for("home.user"))
        user.email = data["email"]
        user.info = data["info"]
        db.session.add(user)
        db.session.commit()
        flash("Changed It successfully!", "ok")
        return redirect(url_for("home.user"))
    return render_template("home/user.html", form=form, user=user)
Beispiel #3
0
def user():
    form = UserdetailForm()
    user = User.query.filter_by(id=session["user_id"]).first()
    if form.validate_on_submit():
        data = form.data
        file_face = secure_filename(form.face.data.filename)
        if not os.path.exists(app.config["FC_DIR"]):
            os.makedirs(app.config["FC_DIR"])
        user.face = change_filename(file_face)
        form.face.data.save(app.config["FC_DIR"] + user.face)

        name_count = User.query.filter_by(name=data["name"]).count()
        if data["name"] != user.name and name_count == 1:
            flash("昵称已经存在!", "err")
            return redirect(url_for("home.user"))

        email_count = User.query.filter_by(email=data["email"]).count()
        if data["email"] != user.email and email_count == 1:
            flash("邮箱已经存在!", "err")
            return redirect(url_for("home.user"))

        phone_count = User.query.filter_by(phone=data["phone"]).count()
        if data["phone"] != user.phone and phone_count == 1:
            flash("手机号码已经存在!", "err")
            return redirect(url_for("home.user"))

        user.name = data["name"]
        user.email = data["email"]
        user.phone = data["phone"]
        user.info = data["info"]
        db.session.add(user)
        db.session.commit()
        flash("修改成功!", "ok")
        return redirect(url_for("home.user"))
    return render_template("home/user.html", form=form, user=user)
Beispiel #4
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session["user_id"]))
    if request.method == "GET":
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        file_face = secure_filename(form.face.data.filename)
        if not os.path.exists(app.config["FC_DIR"]):
            os.makedirs(app.config["FC_DIR"])
            os.chmod(app.config["FC_DIR"], "rw")
        user.face = change_filename(file_face)
        form.face.data.save(app.config["FC_DIR"] + user.face)
        user.name = data["name"]
        user.email = data["email"]
        user.info = data["info"]
        user.phone = data["phone"]
        db.session.add(user)
        db.session.commit()
        flash("会员信息修改成功", "ok")
        return redirect(url_for("home.user"))
    return render_template("home/user.html", form=form, user=user)
Beispiel #5
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session['user_id']))
    # 修改会员名之后需要重新获取user.name
    if session["user"] != user.name:
        session["user"] = user.name
    form.face.validators = []
    if request.method == 'GET':
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        if not os.path.exists(app.config['FC_DIR']):
            os.makedirs(app.config['FC_DIR'])
            os.chmod(app.config['DC_DIR'], 'rw')
        # 上传头像
        if form.face.data != '':  # 说明已经重新上传了头像
            if user.face is not None:
                # 如果有头像,删除本地的头像。保存新的头像在本地
                if os.path.exists(app.config['FC_DIR'] + user.face):
                    os.remove(app.config['FC_DIR'] + user.face)
                    print("user.face:" + app.config['FC_DIR'] + user.face)
            file_face = secure_filename(form.face.data.filename)
            user.face = change_filename(file_face)
            form.face.data.save(app.config['FC_DIR'] + user.face)

        # 会员名、邮箱、手机号码有可能重复
        name_count = User.query.filter_by(name=data['name']).count()
        if data['name'] != user.name and name_count == 1:
            flash("会员名已经存在,请重新编辑", "err")
            return redirect(url_for("home.user"))

        email_count = User.query.filter_by(email=data['email']).count()
        if data['email'] != user.email and email_count == 1:
            flash("邮箱已经存在,请重新编辑", "err")
            return redirect(url_for("home.user"))

        phone_count = User.query.filter_by(phone=data['phone']).count()
        if data['phone'] != user.phone and phone_count == 1:
            flash("手机号码已经存在,请重新编辑", "err")
            return redirect(url_for("home.user"))

        user.name = data['name']
        user.email = data['email']
        user.phone = data['phone']
        user.info = data['info']
        db.session.add(user)
        db.session.commit()
        flash("修改成功!", "ok")
        return redirect(url_for("home.user"))
    return render_template('home/user.html', form=form, user=user)
Beispiel #6
0
def user():
    form = UserdetailForm()
    user = User.query.get_or_404(session['user_id'])
    form.face.validators = []
    # 获取用户现在的会员信息(get)
    if request.method == 'GET':
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    # 修改会员信息(post)
    if form.validate_on_submit():
        data = form.data
        # 如果用户名以存在,则修改失败
        user_name = User.query.filter_by(name=data['name']).count()
        if user_name == 1 and user.name != data['name']:
            flash('用户昵称已存在,请重新输入!', 'err')
            return redirect(url_for('home.user'))
        # 如果邮箱以存在,则修改失败
        user_email = User.query.filter_by(email=data['email']).count()
        if user_email == 1 and user.email != data['email']:
            flash('邮箱已存在,请重新输入!', 'err')
            return redirect(url_for('home.user'))
        # 如果手机号以存在,则修改失败
        user_phone = User.query.filter_by(phone=data['phone']).count()
        if user_phone == 1 and user.phone != data['phone']:
            flash('手机号已存在,请重新输入!', 'err')
            return redirect(url_for('home.user'))

        # 修改头像
        if not os.path.exists(app.config['FC_DIR']):  # 没有就创建文件夹
            os.makedirs(app.config['FC_DIR'])
            # os.chmod(app.config['FC_DIR'], 'rw')  # 给文件夹可读可写的权限,这样才能保存文件呀
            os.chmod(app.config['FC_DIR'],
                     stat.S_IRWXU)  # 给文件夹可读可写的权限,这样才能保存文件呀 'rw'
        # 如果face不为空,即为修改了头像地址,要重新保存
        # 上传头像文件,一定要加上enctype="multipart/form-data"
        if form.face.data != '':
            file_face = secure_filename(
                form.face.data.filename)  # 生成上传的电影封面的文件名,并安全加密
            user.face = change_filename(file_face)
            form.face.data.save(app.config['FC_DIR'] + user.face)
        # 修改入库
        user.name = data['name'],
        user.email = data['email'],
        user.phone = data['phone'],
        user.info = data['info'],
        db.session.add(user)
        db.session.commit()
        flash('修改资料成功!', 'ok')
        return redirect(url_for('home.user'))
    return render_template('home/user.html', form=form, user=user)
Beispiel #7
0
def user():
    form = UserdetailForm()
    form.face.validators = []
    user = User.query.get(session['user_id'])
    if request.method == 'GET':
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        # file_face = secure_filename(form.face.data.filename)
        # if not os.path.exists(app.config['FC_DIR']):
        #     os.makedirs(app.config['FC_DIR'])
        #     os.chmod(app.config['FC_DIR'], 'rw')
        if not os.path.exists(app.config['FC_DIR']):
            os.makedirs(app.config['FC_DIR'])
            os.chmod(app.config['FC_DIR'], 'rw')

        if form.face.data.filename != '':
            file_face = secure_filename(form.face.data.filename)
            user.face = change_filename(file_face)
            form.face.data.save(app.config['FC_DIR'] + user.face)

        # user.face = change_filename(file_face)
        # form.face.data.save(app.config['FC_DIR'] + user.face)

        name_count = User.query.filter_by(name=data['name']).count()
        if data['name'] != user.name and name_count == 1:
            flash('昵称已经存在!', 'error')
            return redirect(url_for('home.user'))
        email_count = User.query.filter_by(email=data['email']).count()
        if data['email'] != user.email and email_count == 1:
            flash('邮箱已经存在!', 'error')
            return redirect(url_for('home.user'))
        phone_count = User.query.filter_by(phone=data['phone']).count()
        if data['phone'] != user.phone and phone_count == 1:
            flash('电话号码已经存在!', 'error')
            return redirect(url_for('home.user'))

        user.name = data['name']
        user.email = data['email']
        user.phone = data['phone']
        user.info = data['info']
        db.session.add(user)
        db.session.commit()
        flash('修改资料成功', 'ok')
        return redirect(url_for('home.user'))
    return render_template('home/user.html',
                           form=form,
                           user=user,
                           user_login=user_login())
Beispiel #8
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session["user_id"]))
    face = user.face
    form.face.validators = []
    if request.method == "GET":
        # 赋初值
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        if form.face.data :
            file_face = secure_filename(form.face.data.filename)
            if not os.path.exists(app.config["FC_DIR"]):
                os.makedirs(app.config["FC_DIR"])
                os.chmod(app.config["FC_DIR"])  # 授权读写
            user.face = change_filename(file_face)
            form.face.data.save(app.config["FC_DIR"] + user.face)
            os.remove(os.path.join(app.config["UP_DIR"], face))

        # 检测是否存在 --- 可以统一处理
        name_count = User.query.filter_by(name=data["name"]).count()
        if data["name"] != user.name and name_count == 1:
            flash("昵称已经存在!", "err")
            return redirect(url_for("home.user"))

        email_count = User.query.filter_by(email=data["email"]).count()
        if data["email"] != user.email and email_count == 1:
            flash("邮箱已经存在!", "err")
            return redirect(url_for("home.user"))

        phone_count = User.query.filter_by(phone=data["phone"]).count()
        if data["phone"] != user.phone and phone_count == 1:
            flash("手机已经存在!", "err")
            return redirect(url_for("home.user"))

        # 保存
        user.name = data["name"]
        user.email = data["email"]
        user.phone = data["phone"]
        user.info = data["info"]
        try:
            db.session.add(user)
            db.session.commit()
            flash("修改成功!", "ok")
        except:
            db.session.rollback()
            flash("修改失败!", "ok")

        return redirect(url_for("home.user"))
    return render_template("home/user.html", form=form, user=user)
Beispiel #9
0
def user():
    """
    用户中心
    """
    form = UserdetailForm()
    user = User.query.get_or_404(session['user_id'])
    if request.method == 'GET':
        form.info.data = user.info

    if form.validate_on_submit():
        data = form.data
        # 校验用户名,邮箱,手机号码是否已经存在
        name_count = User.query.filter_by(name=data['name']).count()
        if data['name'] != user.name and name_count == 1:
            flash('昵称已经存在!', category='err')
            return redirect(url_for('home.user'))

        email_count = User.query.filter_by(email=data['email']).count()
        if data['email'] != user.email and email_count == 1:
            flash('邮箱地址已经存在!', category='err')
            return redirect(url_for('home.user'))

        phone_count = User.query.filter_by(phone=data['phone']).count()
        if data['phone'] != user.phone and phone_count == 1:
            flash('手机号码已经存在',category='err')
            return redirect(url_for('home.user'))

        # 保存头像文件
        if not os.path.exists(app.config['FC_DIR']):
            os.mkdirs(app.config['FC_DIR'])
            os.chmod(app.config['FC_DIR'], 'rw')

        if form.face.data.filename != None:
            filename = secure_filename(form.face.data.filename)
            user.face = change_filename(filename)
            form.face.data.save(app.config['FC_DIR'] + user.face)


        user.name = data['name']
        user.email = data['email']
        user.phone = data['phone']
        user.info = data['info']
        # 上传头像

        db.session.add(user)
        db.session.commit()
        flash("用户信息更新成功!", category="ok")
        return redirect(url_for('home.user'))
    return render_template("home/user.html", form=form, user=user)
Beispiel #10
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session['user_id']))
    form.face.validators = []
    if request.method == "GET":
        form.face.flags.required = False
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data

        if not os.path.exists(app.config['FC_DIR']):  # 创建文件夹
            os.makedirs(app.config['FC_DIR'])
            os.chmod(app.config['FC_DIR'], 'rw')

        if form.face.data != '':
            file_face = secure_filename(form.face.data.filename)  # 说是这行没有filename属性
            user.face = change_filename(file_face)
            form.face.data.save(app.config['FC_DIR'] + user.face)

        name_count = User.query.filter_by(name=data['name']).count()
        if data['name'] != user.name and name_count == 1:
            flash('昵称已存在', 'err')
            return redirect(url_for('home.user'))
        email_count = User.query.filter_by(email=data['email']).count()

        if data['email'] != user.email and email_count == 1:
            flash('邮箱已存在', 'err')
            return redirect(url_for('home.user'))
        phone_count = User.query.filter_by(phone=data['phone']).count()

        if data['phone'] != user.phone and phone_count == 1:
            flash('手机号码已存在', 'err')
            return redirect(url_for('home.user'))

        user.name = data['name']
        user.email = data['email']
        user.phone = data['phone']
        user.info = data['info']

        db.session.add(user)
        db.session.commit()
        flash('修改成功', 'ok')
        # return redirect(url_for('home.user'))
    return render_template('home/user.html', form=form, user=user)
Beispiel #11
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session["user_id"]))
    form.face.validators = []
    if request.method == "GET":
        # 赋初值
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        if form.face.data != "":
            file_face = secure_filename(form.face.data.filename)
            print(file_face, '====', app.config["FC_DIR"])
            if not os.path.exists(app.config["FC_DIR"]):
                os.makedirs(app.config["FC_DIR"])
                # 此句可以不要
                # os.chmod(app.config["FC_DIR"])
            user.face = change_filename(file_face)
            form.face.data.save(app.config["FC_DIR"] + user.face)

        name_count = User.query.filter_by(name=data["name"]).count()
        if data["name"] != user.name and name_count == 1:
            flash("昵称已经存在!", "err")
            return redirect(url_for("home.user"))

        email_count = User.query.filter_by(email=data["email"]).count()
        if data["email"] != user.email and email_count == 1:
            flash("邮箱已经存在!", "err")
            return redirect(url_for("home.user"))

        phone_count = User.query.filter_by(phone=data["phone"]).count()
        if data["phone"] != user.phone and phone_count == 1:
            flash("手机已经存在!", "err")
            return redirect(url_for("home.user"))

        # 保存
        user.name = data["name"]
        user.email = data["email"]
        user.phone = data["phone"]
        user.info = data["info"]
        db.session.add(user)
        db.session.commit()
        flash("修改成功!", "ok")
        return redirect(url_for("home.user"))
    return render_template("home/user.html", form=form, user=user)
Beispiel #12
0
def user():
    form = UserdetailForm()
    user = User.query.get(session["user_id"])
    if user.face == None:
        form.face.validators = [DataRequired("请上传头像!")]
    else:
        form.face.validators = []
    if request.method == 'GET':
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        file_face = secure_filename(form.face.data.filename)
        if not os.path.exists(app.config["FC_DIR"]):
            os.makedirs(app.config["FC_DIR"])
            os.chmod(app.config["FC_DIR"], "rw")
        user.face = change_filename(file_face) if user.face == None else user.face
        form.face.data.save(app.config["FC_DIR"] + user.face)
        name_count = User.query.filter_by(name=data["name"]).count()

        if data["name"] != user.name and name_count == 1:
            flash("昵称已经存在!", "err")
            return redirect(url_for('home.user'))

        email_count = User.query.filter_by(email=data["email"]).count()
        if data["email"] != user.email and email_count == 1:
            flash("邮箱已经存在!", "err")
            return redirect(url_for('home.user'))

        phone_count = User.query.filter_by(phone=data["phone"]).count()
        if data["phone"] != user.phone and phone_count == 1:
            flash("号码已经存在!", "err")
            return redirect(url_for('home.user'))

        user.name = data["name"]
        session["user"] = user.name  # 修改之后要更新session中的全局变量
        user.phone = data["phone"]
        user.info = data["info"]
        user.email = data["email"]
        db.session.add(user)
        db.session.commit()
        flash("修改资料成功!", "ok")
        return redirect(url_for('home.user'))
    return render_template("home/user.html", form=form, user=user)
Beispiel #13
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session['user_id']))
    if request.method == "GET":
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
    if form.validate_on_submit():
        data = form.data
        user.name = data['name']
        user.email = data['email']
        user.phone = data['phone']
        db.session.add(user)
        db.session.commit()
        flash('change finish')
        return redirect(url_for("home.user"))
    return render_template("home/user.html", form=form)
Beispiel #14
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session["user_id"]))
    form.face.validators = []
    if request.method == "GET":
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        if not user.face is None:
            old_face = app.config["FC_DIR"] + user.face
            os.remove(old_face)

        name_count = User.query.filter_by(name=data["name"]).count()
        if data["name"] != user.name and name_count == 1:
            flash("昵称已经存在!", "err")
            return redirect(url_for("home.user"))

        email_count = User.query.filter_by(email=data["email"]).count()
        if data["email"] != user.email and email_count == 1:
            flash("邮箱已经存在!", "err")
            return redirect(url_for("home.user"))

        phone_count = User.query.filter_by(phone=data["phone"]).count()
        if data["phone"] != user.phone and phone_count == 1:
            flash("手机号码已经存在!", "err")
            return redirect(url_for("home.user"))

        file_face = secure_filename(form.face.data.filename)
        if not os.path.exists(app.config["FC_DIR"]):
            os.makedirs(app.config["FC_DIR"])
            os.chmod(app.config["FC_DIR"], "rw")
        user.face = change_filename(file_face)
        form.face.data.save(app.config["FC_DIR"] + user.face)

        user.name = data["name"]
        user.email = data["email"]
        user.phone = data["phone"]
        user.info = data["info"]
        db.session.add(user)
        db.session.commit()
        flash("修改成功", "ok")
        return redirect(url_for("home.user"))
    return render_template("home/user.html", form=form, user=user)
Beispiel #15
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session["user_id"]))
    form.face.validators = []
    if request.method == "GET":
        form.name.data = user.name
        form.email.data = user.email
        # form.face.data = user.face
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        file_face = secure_filename(form.face.data.filename)
        if not os.path.exists(app.config["FC_DIR"]):
            os.makedirs(app.config["FC_DIR"])
            os.chmod(app.config["FC_DIR"], "rw")
        user.face = change_filename(file_face)
        form.face.data.save(app.config["FC_DIR"] + user.face)

        # Check if name already exist
        name_count = User.query.filter_by(name=data["name"]).count()
        if data["name"] != user.name and name_count == 1:
            flash("The name you enter already exist!", "err")
            return redirect(url_for("home.user"))
        name_count = User.query.filter_by(name=data["name"]).count()
        # Check if email already exist
        email_count = User.query.filter_by(email=data["email"]).count()
        if data["email"] != user.email and email_count == 1:
            flash("The email you enter already exist!", "err")
            return redirect(url_for("home.user"))
        # Check if phone already exist
        phone_count = User.query.filter_by(phone=data["phone"]).count()
        if data["phone"] != user.phone and phone_count == 1:
            flash("The phone you enter already exist!", "err")
            return redirect(url_for("home.user"))

        user.name = data["name"]
        user.email = data["email"]
        user.phone = data["phone"]
        user.info = data["info"]
        db.session.add(user)
        db.session.commit()
        flash("The change is saved", "ok")
        return redirect(url_for("home.user"))
    return render_template("home/user.html", form=form, user=user)
Beispiel #16
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session['user_id']))
    form.face.validators = []

    if request.method == 'GET':
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info

    if form.validate_on_submit():
        data = form.data
        if hasattr(form.face.data, 'filename'):
            file_face = secure_filename(form.face.data.filename)
            if not os.path.exists((app.config['FC_DIR'])):
                os.makedirs(app.config['FC_DIR'])
                os.chmod(app.config['FC_DIR'], "rw")
            user.face = change_filename(file_face)
            form.face.data.save(app.config['FC_DIR'] + user.face)

        name_count = User.query.filter_by(name=data['name']).count()
        if data['name'] != user.name and name_count == 1:
            flash('用户名已经存在', 'err')
            return redirect(url_for('home.user'))

        email_count = User.query.filter_by(email=data['email']).count()
        if data['email'] != user.email and email_count == 1:
            flash('邮箱已经存在', 'err')
            return redirect(url_for('home.user'))

        phone_count = User.query.filter_by(phone=data['phone']).count()
        if data['phone'] != user.phone and phone_count == 1:
            flash('电话号码已经存在', 'err')
            return redirect(url_for('home.user'))

        user.name = data['name']
        user.email = data['email']
        user.phone = data['phone']
        user.info = data['info']
        db.session.add(user)
        db.session.commit()
        flash('修改会员信息成功', 'ok')
        return redirect(url_for('home.user'))
    return render_template("home/user.html", form=form, user=user)
Beispiel #17
0
def user():
    form = UserdetailForm()
    user = User.query.filter_by(name=session['user']).first_or_404()
    form.face.validators = []
    if request.method == 'GET':
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        file_face = secure_filename(form.face.data.filename)
        if not os.path.exists(app.config['FC_DIR']):
            os.makedirs(app.config['FC_DIR'])
            os.chmod(app.config['FC_DIR'], 'rw')
        # 改变user.face的文件路径
        user.face = change_filename(file_face)
        form.face.data.save(app.config['FC_DIR'] + user.face)
        name_count = User.query.filter_by(name=data['name']).count()

        # 保证昵称的不重复与唯一性
        if data['name'] != user.name and name_count == 1:
            flash('会员昵称已经存在!', 'err')
            return redirect(url_for('home.user'))

        email_count = User.query.filter_by(email=data['email']).count()
        if data['email'] != user.email and email_count == 1:
            flash('会员邮箱已经存在!', 'err')
            return redirect(url_for('home.user'))

        phone_count = User.query.filter_by(phone=data['phone']).count()
        if data['phone'] != user.phone and phone_count == 1:
            flash('会员电话号码已经存在!', 'err')
            return redirect(url_for('home.user'))
        user.name = data['name']
        user.email = data['email']
        user.phone = data['phone']
        user.info = data['info']

        db.session.add(user)
        db.session.commit()
        flash('修改会员信息成功!', 'ok')
        return redirect(url_for('home.user'))

    return render_template('home/user.html', form=form, user=user)
Beispiel #18
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session["user_id"]))
    # form.face.validators = []
    if request.method == "GET":
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        file_face = secure_filename(form.face.data.filename)
        # 如果路径不存在,就创建一个文件的目录,并授权读写
        if not os.path.exists(app.config["FC_DIR"]):
            os.makedirs(app.config["FC_DIR"])
            os.chmod(app.config["FC_DIR"], "rw")
        face = change_filename(file_face)
        form.face.data.save(app.config["FC_DIR"] + face)

        name_count = User.query.filter_by(name=data["name"]).count()
        if data["name"] != user.name and name_count == 1:
            flash("昵称已存在", "err")
            return redirect(url_for("home.user"))

        email_count = User.query.filter_by(email=data["email"]).count()
        if data["email"] != user.email and email_count == 1:
            flash("邮箱已存在", "err")
            return redirect(url_for("home.user"))

        phone_count = User.query.filter_by(phone=data["phone"]).count()
        if data["phone"] != user.phone and phone_count == 1:
            flash("手机号码已存在", "err")
            return redirect(url_for("home.user"))

        user.name = data["name"]
        user.email = data["email"]
        user.phone = data["phone"]
        user.info = data["info"]
        user.face = face
        db.session.add(user)
        db.session.commit()
        flash("修改成功", "ok")
        return redirect(url_for("home.user"))
    return render_template("home/user.html", form=form, user=user)
Beispiel #19
0
def user():
    form = UserdetailForm()
    # user是为了,修改用户信息的原始值
    user = User.query.get(int(session["user_id"]))
    form.face.validators = []
    if request.method == "GET":
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        file_face = secure_filename(form.face.data.filename)
        if not os.path.exists(app.config["FC_DIR"]):
            os.makedirs(app.config["FC_DIR"])
            os.chmod(app.config["FC_DIR"], 'rw')
        user.face = change_filename(file_face)
        form.face.data.save(app.config["FC_DIR"] + user.face)

        # 前提是不能重复
        name_count = User.query.filter_by(name=data["name"]).count()
        if data["name"] != user.name and name_count == 1:
            flash("昵称已经存在", "err")
            return redirect(url_for("home.user"))
        user.name = data["name"]

        email_count = User.query.filter_by(email=data["email"]).count()
        if data["email"] != user.email and email_count == 1:
            flash("邮箱已经存在", "err")
            return redirect(url_for("home.user"))
        user.email = data["email"]

        phone_count = User.query.filter_by(phone=data["phone"]).count()
        if data["phone"] != user.phone and phone_count == 1:
            flash("电话已经存在", "err")
            return redirect(url_for("home.user"))
        user.phone = data["phone"]

        user.info = data["info"]
        db.session.add(user)
        db.session.commit()
        flash("修改资料成功", "ok")
        return redirect(url_for("home.user"))
    return render_template("home/user.html", form=form, user=user)
Beispiel #20
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session['user_id']))
    if request.method == 'GET':
        form.email.data = user.email
        form.info.data = user.info
        form.phone.data = user.phone
    if form.validate_on_submit():
        data = form.data

        if not os.path.exists(app.config['FC_DIR']):
            os.makedirs(app.config['FC_DIR'])
            os.chmod(app.config['FC_DIR'], 'rw')

        if form.face.data != '':
            file_face = secure_filename(form.face.data.filename)
            user.face = change_filename(file_face)
            form.face.data.save(app.config['FC_DIR'] + user.face)

        name_count = User.query.filter_by(name=data['name']).count()
        if name_count == 1 and user.name != data['name']:
            flash('名称已经存在!', 'err')
            return redirect(url_for('home.user'))

        email_count = User.query.filter_by(email=data['email']).count()
        if email_count == 1 and user.email != data['email']:
            flash('邮箱已经存在!', 'err')
            return redirect(url_for('home.user'))

        phone_count = User.query.filter_by(phone=data['phone']).count()
        if phone_count == 1 and user.phone != data['phone']:
            flash('手机号码已经存在!', 'err')
            return redirect(url_for('home.user'))

        # user.name = data['name']
        user.email = data['email']
        user.phone = data['phone']
        user.info = data['info']
        db.session.add(user)
        db.session.commit()
        flash("修改成功", "ok")
        redirect(url_for('home.user'))
    return render_template('home/user.html', form=form, user=user)
def user():
    form = UserdetailForm()
    user = User.query.get(int(session['user_id']))
    form.face.validators = []
    if request.method == 'GET':
        form.name.data = user.name
        form.phone.data = user.phone
        form.email.data = user.email
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data

        if not os.path.exists(app.config['FC_DIR']):
            os.makedirs(app.config['FC_DIR'])
            os.chmod(app.config['FC_DIR'], 'rw')
        if form.face.data != '':
            file_face = secure_filename(form.face.data.filename)
            user.face = change_filename(file_face)
            form.face.data.save(app.config['FC_DIR'] + user.face)

        name_count = User.query.filter_by(name=data['name']).count()
        if user.name != data['name'] and name_count != 0:
            flash('昵称已存在', 'err')
            return redirect(url_for("home.user"))

        phone_count = User.query.filter_by(phone=data['phone']).count()
        if user.phone != data['phone'] and phone_count != 0:
            flash('手机已存在', 'err')
            return redirect(url_for("home.user"))

        email_count = User.query.filter_by(email=data['email']).count()
        if user.email != data['email'] and email_count != 0:
            flash('邮箱已存在', 'err')
            return redirect(url_for("home.user"))

        user.name = data['name']
        user.phone = data['phone']
        user.email = data['email']
        user.info = data['info']
        db.session.commit()
        flash('会员信息修改成功', 'ok')
        return redirect(url_for("home.user"))
    return render_template('home/user.html', form=form, user=user)
Beispiel #22
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session["user_id"]))
    if user.face is not None:
        form.face.validators = []
    if request.method == "GET":
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.school.data = user.school
    if form.validate_on_submit():
        data = form.data

        if not os.path.exists(app.config['UP_DIR'] + "users" + os.sep):
            os.makedirs(app.config['UP_DIR'] + "users" + os.sep)

        if not os.path.exists(app.config['UP_DIR'] + "users" + os.sep +
                              str(user.id) + os.sep):
            os.makedirs(app.config['UP_DIR'] + "users" + os.sep +
                        str(user.id) + os.sep)

        if form.face.data.filename != '':
            old_face = user.face
            if old_face is not None and os.path.exists(app.config['UP_DIR'] +
                                                       "users" + os.sep +
                                                       old_face + ".jpg"):
                os.remove(app.config['UP_DIR'] + "users" + os.sep + old_face +
                          ".jpg")
            user.face = form.face
            user.face = str(user.id)

            form.face.data.save(app.config['UP_DIR'] + "users" + os.sep +
                                str(user.id) + os.sep + "1.jpg")
            #user.tezheng, rect = person_data("F:/Identification_System/app/static/uploads/users", user.id)

        user.name = data["name"]
        user.email = data["email"]
        user.phone = data["phone"]
        user.school = data["school"]
        db.session.add(user)
        db.session.commit()
        flash("修改成功!", "ok")
    return render_template("home/user.html", form=form, user=user)
Beispiel #23
0
def user():
    form = UserdetailForm()
    user = User.query.get_or_404(int(session['user_id']))
    if request.method == "GET":
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
        form.face.validators = []

    if form.validate_on_submit():
        data = form.data
        name_count = User.query.filter_by(name=data['name']).count()
        phone_count = User.query.filter_by(name=data['phone']).count()
        email_count = User.query.filter_by(name=data['email']).count()
        if not os.path.exists(app.config['USER_DIR']):
            os.makedirs(app.config["USER_DIR"])
            os.chmod(app.config["USER_DIR"], 'rw')

        if form.face.data.filename != "":
            file_logo = secure_filename(form.face.data.filename)
            user.face = change_filename(file_logo)
            form.face.data.save(app.config["USER_DIR"] + user.face)

        if email_count == 1 and user.email != data['email']:
            flash("用户邮箱已存在", "err")
            return redirect(url_for("home.user"))
        if phone_count == 1 and user.email != data['phone']:
            flash("用户手机已存在", "err")
            return redirect(url_for("home.user"))
        if name_count == 1 and user.name != data['name']:
            flash("用户昵称已存在", "err")
            return redirect(url_for("home.user"))
        user.name = data["name"]
        user.email = data["email"]
        user.phone = data["phone"]
        user.info = data["info"]

        db.session.add(user)
        db.session.commit()
        flash("用户资料修改成功", "ok")
    return render_template("home/user.html", form=form, user=user)
Beispiel #24
0
def user():
    form = UserdetailForm()
    user = User.query.filter_by(name=session["user"]).first()
    form.face.validators = []
    if request.method == "GET":
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data
        file_face = secure_filename(form.face.data.filename)
        if not os.path.exists(app.config["FC_DIR"]):
            os.makedirs(app.config["FC_DIR"])
            os.chmod(app.config["FC_DIR"], "rw")
        user.face = change_filename(file_face)
        form.face.data.save(app.config["FC_DIR"] + user.face)

        name_count = User.query.filter_by(name=data["name"]).count()
        if user.name != data['name'] and name_count == 1:
            flash("昵称已经存在!", "err")
            return redirect(url_for("home.user"))
        email_count = User.query.filter_by(name=data["email"]).count()
        if data["email"] != user.email and email_count == 1:
            flash("邮箱已经存在!", "err")
            return redirect(url_for("home.user"))
        phone_count = User.query.filter_by(phone=data["phone"]).count()
        if data["phone"] != user.phone and phone_count == 1:
            flash("手机号码已经存在!", "err")
            return redirect(url_for("home.user"))

        user.name = data["name"]
        user.email = data["email"]
        user.phone = data["phone"]
        user.info = data["info"]
        db.session.add(user)
        db.session.commit()
        flash("资料修改成功!", "success")
        return redirect(url_for("home.user"))
    return render_template("home/user.html", form=form, user=user)
Beispiel #25
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session["user_id"]))
    if user.face is not None:
        form.face.validators = []
    if request.method == "GET":
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        print('button pressed')
        data = form.data
        # if data["name"] != user.name and name_count == 1:
        #     flash("用户名已被占用")
        #     return redirect(url_for("home.user"))
        if request.method == 'POST':
            file = request.files['file']
            print("获取文件成功")
            filename = secure_filename(str(hash(
                file.filename))) + session["user"] + ".jpg"
            print("secure成功" + filename)
            del_face = user.face
            file.save(
                os.path.join(app.config['UP_DIR'] + os.sep + "users",
                             filename))
            #os.remove(os.path.join(app.config['UP_DIR']  + os.sep+"users", del_face))
            print("删除文件" + del_face + "成功")
            user.face = filename
        user.name = data["name"]
        user.email = data["email"]
        user.phone = data["phone"]
        user.info = data["info"]
        db.session.add(user)
        db.session.commit()
        flash("修改成功!")
        return redirect(url_for("home.user"))
    flash("失败")
    return render_template('home/user.html', form=form, user=user)
Beispiel #26
0
def user():
    if "user" not in session:
        return abort(404)
    form = UserdetailForm()
    user = User.query.get(int(session["user_id"]))
    if request.method == "GET":
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
    if form.validate_on_submit():
        data = form.data
        name_count = User.query.filter_by(name=data["name"]).count()
        if data["name"] != user.name and name_count == 1:
            flash("昵称已经存在!", "err")
            return redirect(url_for("home.user"))

        email_count = User.query.filter_by(email=data["email"]).count()
        if data["email"] != user.email and email_count == 1:
            flash("邮箱已经存在!", "err")
            return redirect(url_for("home.user"))

        phone_count = User.query.filter_by(phone=data["phone"]).count()
        if data["phone"] != user.phone and phone_count == 1:
            flash("手机号码已经存在!", "err")
            return redirect(url_for("home.user"))

        user.name = data["name"]
        user.email = data["email"]
        user.phone = data["phone"]
        db.session.add(user)
        db.session.commit()
        session["user"] = user.name
        flash("修改成功!", "ok")
        return redirect(url_for("home.user"))
    return render_template("home/user.html",
                           name=session.get('user'),
                           form=form,
                           user=user)
Beispiel #27
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session["user_id"]))
    if user.face is not None:
        form.face.validators = []
    if request.method == "GET":
        form.name.data = user.name
        form.email.data = user.email
        form.phone.data = user.phone
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data

        if not os.path.exists(DevConfig.UP_DIR + "users" + os.sep):
            os.makedirs(DevConfig.UP_DIR + "users" + os.sep)
            os.chmod(DevConfig.UP_DIR + "users" + os.sep, "rw")

        if form.face.data.filename != '':
            old_face = user.face
            file_face = secure_filename(form.face.data.filename)
            user.face = change_filename(file_face)
            form.face.data.save(DevConfig.UP_DIR + "users" + os.sep +
                                user.face)
            if old_face is not None and os.path.exists(DevConfig.UP_DIR +
                                                       "users" + os.sep +
                                                       old_face):
                os.remove(DevConfig.UP_DIR + "users" + os.sep + old_face)

        user.name = data["name"]
        user.email = data["email"]
        user.phone = data["phone"]
        user.info = data["info"]
        db.session.add(user)
        db.session.commit()
        flash("修改成功!", "ok")
    return render_template("home/user.html", form=form, user=user)
Beispiel #28
0
def user():
    form = UserdetailForm()
    user = User.query.get(int(session["user_id"]))
    form.face.validators = []
    if request.method == "GET":
        form.info.data = user.info
    if form.validate_on_submit():
        data = form.data

        # 判断是否修改成已经存在过的值,确保唯一
        if data["email"] != user.email and User.query.filter_by(
                email=data["email"]).count() == 1:
            flash("邮箱已经存在!", "err")
            return redirect(url_for('home.user'))

        if data["phone"] != user.phone and User.query.filter_by(
                phone=data["phone"]).count() == 1:
            flash("手机已经存在!", "err")
            return redirect(url_for('home.user'))

        user.name = session["user"]
        user.email = data["email"]
        user.phone = data["phone"]
        user.info = data["info"]

        if form.face.data.filename:
            user.face = change_filename(
                secure_filename(form.face.data.filename))
            form.face.data.save(app.config["FC_DIR"] + user.face)

        db.session.add(user)
        db.session.commit()
        flash("保存修改成功!", "ok")
        return redirect(url_for("home.user"))

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