def signup():
    """signup page"""
    if current_user.is_authenticated:
        return redirect(f'/id{current_user.id}')
    form = AuthorizeForm()
    if form.validate_on_submit():
        # if password and control password are equal
        # and username are not taken, add the user to data base
        if form.password.data == form.password_control.data:
            if not db_sess.query(User).filter(
                    User.username == form.username.data).first():
                user = User()
                user.username = form.username.data
                user.create_password_hash(form.password.data)
                db_sess.add(user)
                db_sess.commit()
                return redirect('/login')
            return render_template('signup.html',
                                   form=form,
                                   message="Такое имя пользователя уже занято")
        return render_template('signup.html',
                               form=form,
                               message="Пароли не совпадают")
    return render_template('signup.html', form=form,
                           message="")  # do not remove 'message' argument here
 def post(self):
     """adding new user (if data is correct) by post request
     e.g post('http://localhost:5000/api/users', json={'username': '******', 'password': '******'})"""
     args = parser.parse_args()
     session = db_session.create_session()
     user = User()
     user.username = args['username']
     if len(args['password']) <= 6:
         return jsonify({'success': 'Bad password'})
     user.create_password_hash(args['password'])
     session.add(user)
     session.commit()
     return jsonify({'success': 'OK'})