Пример #1
0
def register():
    if request.method == 'POST':
        username = request.form.get('username', '').strip()
        password1 = request.form.get('password1', '').strip()
        password2 = request.form.get('password2', '').strip()
        gender = request.form.get('gender', '').strip()
        birthday = request.form.get('birthday', '').strip()
        city = request.form.get('city', '').strip()
        bio = request.form.get('bio', '').strip()
        now = datetime.datetime.now()

        if not password1 or password1 != password2:
            return render_template('register.html', err='密码不符合要求')

        user = User(username=username,
                    password=make_password(password1),
                    gender=gender,
                    birthday=birthday,
                    city=city,
                    bio=bio,
                    created=now)

        avatar_file = request.files.get('avatar')
        if avatar_file:
            user.avatar = save_avatar(avatar_file)

        try:
            db.session.add(user)
            db.session.commit()
            return redirect('/user/login')
        except IntegrityError:
            db.session.rollback()
            return render_template('register.html', err='您的昵称已被占用')
    else:
        return render_template('register.html')
Пример #2
0
def register():
    if request.method == 'POST':
        username = request.form.get('username', '').strip()
        password1 = request.form.get('password1', '').strip()
        password2 = request.form.get('password2', '').strip()
        gender = request.form.get('gender', '').strip()
        city = request.form.get('city', '').strip()
        phone = request.form.get('phone', '').strip()
        now = datetime.datetime.now()
        try:
            User.query.filter_by(username=username).one()
            return render_template('register.html', err='用户名已存在')
        except Exception:
            if not password1 or password1 != password2:
                return render_template('register.html', err='密码不一致')

            user = User(username=username,
                        password=make_password(password1),
                        gender=gender,
                        city=city,
                        phone=phone,
                        create_time=now)

            # 保存头像
            avatar_file = request.files.get('avatar', '')
            if avatar_file:
                user.avatar = save_avatar(avatar_file)

            db.session.add(user)
            db.session.commit()
            return redirect('/user/login')

    else:
        return render_template('register.html')
Пример #3
0
def register():
    if request.method == 'POST':
        #get里面没有的空单引号'' 的意义是 如果你没有写里面内容的话,默认是''
        # strip() 的作用是把字符串两边的空白符去掉,但是不会去掉字符串内部的空白符

        nickname = request.form.get('nickname', '').strip()
        password1 = request.form.get('password1', '').strip()
        password2 = request.form.get('password1', '').strip()
        gender = request.form.get('gender', '').strip()
        birthday = request.form.get('birthday', '').strip()
        city = request.form.get('city', '').strip()
        bio = request.form.get('avatar', '').strip()
        now = datetime.datetime.now()  #注册时间

        if not password1 or password1 != password2:
            return render_template('register.html', err='密码不符合要求')

        user = User(
            nickname=nickname,
            password=make_password(password1),
            gender=gender,
            birthday=birthday,
            city=city,
            bio=bio,
            created=now
        )

        #保存头像
        avatar_file = request.files.get('avatar')
        if avatar_file:
            # print(dir(avatar_file.stream))
            # avatar_url = save_avatar(avatar)
            # user.avatar = avatar_url
            user.avatar = save_avatar(avatar_file)

        try:
            #保存到数据库
            db.session.add(user)
            db.session.commit()
            return redirect('/user/login')
        except IntegrityError:
            db.session.rollback()
            # print(e)
            return render_template('register.html', err='您的昵称已被占用')
    else:
        return render_template('register.html')