def register(): if current_user.is_authenticated: logout() form = User_reg() db_sess = db_session.create_session() if form.validate_on_submit(): if form.password.data != form.repeat_password.data: return render_template('register.html', title='Регистрация', form=form, message="Пароли не совпадают") user_log = db_sess.query(User).filter( User.login == form.login.data).first() if user_log: return render_template('register.html', title='Регистрация', form=form, message="Такой логин уже существует!") user = User() user.name = form.name.data.capitalize() user.surname = form.surname.data.capitalize() user.login = form.login.data if form.teacher.data: while True: x = generate_password() if not db_sess.query(User).\ filter((User.grade == x) | (User.grade_for_teacher == x)).first(): user.grade = x break while True: x = generate_password() if not db_sess.query(User).\ filter((User.grade == x) | (User.grade_for_teacher == x)).first(): user.grade_for_teacher = x user.classes = x break user.teacher = form.teacher.data user.hashed_password = hashlib.sha512( form.password.data.encode('utf-8')).hexdigest() db_sess.add(user) db_sess.commit() login_user(user, remember=False) return redirect('/main_page') return render_template("register.html", form=form, title='Регистрация')