예제 #1
0
def register():
    form = RegisterForm()
    if form.validate_on_submit():

        # 检查用户上传的图像文件是否符合要求
        if not check_files_extension([form.photo.data.filename],
                                     ALLOWED_IMAGE_EXTENSION):
            flash('图片格式不正确!', 'danger')
            return redirect(url_for('auth.register'), form=form)

        user_name_db = User.query.filter(
            User.name == form.user_name.data).first()
        if user_name_db:
            flash('用户名已经存在!', 'danger')
            return render_template('register.html', form=form)
        user_email_db = User.query.filter(
            User.email == form.email.data).first()
        if user_email_db:
            flash('邮箱已经被注册过!', 'danger')
            return render_template('register.html', form=form)
        user_phone_db = User.query.filter(
            User.phone == form.phone.data).first()
        if user_phone_db:
            flash('手机号已经被注册过!', 'danger')
            return render_template('register.html', form=form)

        user = User()
        user.name = form.user_name.data
        user.pwd = generate_password_hash(form.user_pwd.data)
        user.email = form.email.data
        user.phone = form.phone.data
        user.introduce = form.introduce.data
        user.birthday = form.birthday.data
        # 文件上传
        # img_file = request.files['photo']
        img_file = request.files.get('photo')
        user.photo = secure_filename(img_file.filename)

        flash('注册成功', 'success')
        db.session.add(user)
        db.session.commit()
        # file_path = file_bastpath + img_file.filename
        user_folder = os.path.join(app.config['UPLOADED_FOLDER'], user.name)
        create_folder(user_folder)
        img_file.save(os.path.join(user_folder, user.photo))

        return redirect(url_for('auth.login', user_name=user.name))
    # user_name = form.data['user_name']
    return render_template('register.html', form=form)