Пример #1
0
def register():
    form = RegistForm()
    error = None
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        repassword = request.form['repassword']
        if User.query.filter_by(username=username).all():
            error = '用户名已存在'
            return render_template('register.html', form=form, error=error)
        if username is None:
            error = 'Invalid username'
        if password != repassword:
            error = '密码不一致'
            return render_template('register.html', form=form, error=error)
        else:
            form.validate_on_submit()
            data = form.data
            user = User(
                username = data["username"],
                password = generate_password_hash(data["password"]),
                addtime = datetime.now()
            )
            db.session.add(user)
            db.session.commit()
            flash("注册成功!", "OK")
            return redirect(url_for('login'))
    return render_template("register.html", form=form, error=error)
Пример #2
0
def regist():
    form = RegistForm()
    if current_user.is_authenticated:
        return render_template('user.html', user=current_user)
    elif request.method == 'POST' and form.validate_pwd(
    ) and form.validate_on_submit():
        if not form.agreed():
            flash('If you disagree the protocol, you can not use our product')
            return render_template('regist.html', form=form)
        nikename = form.nikename.data
        username = form.username.data
        password = form.password.data
        email = form.email.data
        phone = form.phone.data
        user = User(
            username=username,
            nikename=nikename,
            email=email,
            phone=phone,
        )
        user.password = user.set_password(password)
        user.save()
        flash('regist success, you can login now')
        return redirect('login')
    return render_template('regist.html', form=form)
Пример #3
0
def user_regist():
    form = RegistForm()
    if form.validate_on_submit():
        user = User()
        user.name = form.user_name.data
        user.pwd = form.user_pwd.data
        user.email = form.data['user_email']
        user.age = form.user_edge.data
        user.birthday = form.data["user_birthday"]
        # filestorage = form.user_face.data
        filestorage = request.files["user_face"]
        print(filestorage)
        user.face = filestorage.filename
        print(user.face)
        # 查看用户名是否已经存在
        user_x = query_user_by_name(user.name)
        if user_x:
            flash("用户名已经存在!", category='err')
            return render_template('user_regist.html', form=form)
        # 如果用户不存在,执行插入操作
        insert_user_to_db(user)
        # 保存用户头像文件
        filestorage.save(filestorage.filename)
        flash("用户注册成功!", category='ok')
        return redirect(url_for("user_login", username=user.name))
    return render_template('user_regist.html', form=form)
Пример #4
0
def user_regist():
    regForm = RegistForm()
    if regForm.validate_on_submit():
        if not check_files_ext([regForm.user_face.data.filename],
                               ALLOWED_IMAGE_EXT):
            flash(message=u'上传的图片格式不支持!', category='error')
            return render_template('user_regist.html', form=regForm)
        user = User()
        user.name = request.form['user_name']
        user.pwd = request.form['user_pwd']
        user.email = request.form['user_email']
        user.age = request.form['user_age']
        user.birthday = request.form['user_birthday']
        f = request.files['user_face']
        user.face = change_filename_to_uuid(f.filename)
        user_x = query_user_by_name(user.name)
        if user_x:
            flash(u"用户名已经存在!", category='error')
            return render_template('user_regist.html', form=regForm)
        insert_user_to_db(user)
        userfolder = os.path.join(app.config["UPLOAD_FOLDER"], user.name)
        if not os.path.exists(userfolder):
            os.mkdir(userfolder, os.O_RDWR)
        f.save(os.path.join(userfolder, user.face))
        flash(u"注册成功", category='ok')
        return redirect(url_for("user_login", username=user.name))
    return render_template('user_regist.html', form=regForm)
Пример #5
0
def regist():
    form = RegistForm()
    if form.validate_on_submit():
        if User.query.filter_by(email=form.email.data).first():
            flash('Email已被註冊', 'error')
        else:
            if User.query.filter_by(username=form.username.data).first():
                flash('使用者已被註冊', 'error')
            else:
                user = User(email=form.email.data,
                            username=form.username.data,
                            password=form.password.data,
                            realname=form.realname.data)
                db.session.add(user)
                db.session.commit()
                flash('註冊成功!', 'success')
                return redirect(url_for('login'))
    return render_template('auth/regist.html', form=form)
Пример #6
0
def user_regist():  # 注册
    form = RegistForm()
    if form.validate_on_submit(
    ):  # 检查提交方式是否为post 验证forms.py定义的validators 验证是否通过
        # print("form", form.user_name.data)
        # print("form", form.data)
        # print("form", form.data["user_name"])
        # print("request.form", request.form)
        user = User()
        # user.name = request.form["user_name"]
        user.name = form.user_name.data
        # user.pwd = request.form["user_pwd"]
        user.pwd = form.user_pwd.data
        # user.age = request.form["user_age"]
        user.age = form.user_age.data
        # user.birthday = request.form["user_birthday"]
        user.birthday = form.user_birthday.data
        # user.email = request.form["user_email"]
        user.email = form.user_email.data
        # user.face = request.form["user_face"]
        # user.face = form.user_face.data
        # filerstorage=form.user_face.data
        filerstorage = request.files["user_face"]  # 获取头像文件
        user.face = filerstorage.filename

        # 查看用户是否存在
        user_one = query_user_by_name(user.name)
        if user_one:
            # 返回注册界面,重新注册
            flash("用户名已存在!", category="err"
                  )  # Flashes a message to the next request 闪现一条消息到下一次消息请求

            return render_template("user_regist.html", form=form)

        # 如果不存在执行插入操作
        # 插入一条数据
        instert_user_to_db(user)
        # 保存用户头像文件
        filerstorage.save(user.face)
        flash("注册成功!", category="ok")
        # username作为查询参数带到url中去
        ## 重定向页面 生成url 执行 user_login 函数 跳转到登录界面
        return redirect(url_for("user_login", username=user.name))
    return render_template("user_regist.html", form=form)
Пример #7
0
def regist():
    form = RegistForm()
    if request.method == 'GET':
        return render_template('regist.html', form=form)
    if request.method == 'POST':
        user = User.query.filter_by(email=form.email.data).first()
        if form.validate_on_submit() and not user:
            user = User(name=form.name.data, email=form.email.data, authentication=False)
            user.set_passwd(form.passwd.data)
            db.session.add(user)
            db.session.commit()
            login_user(user)
            next = request.args.get('next') or url_for('index')
            flash('请查收您的注册邮件以激活账号')
            return redirect(next)
        else:
            if user:
                flash('当前邮箱已注册,请直接登录')
                return redirect('login')
            else:
                flash('请检查输入重试')
                return render_template('regist.html', form=form)