Nizamovoff
@Nizamovoff
HSE CS AMI student

Почему Python flask не хочет обрабатывать POST запрос?

Есть html форма, которая отвечает за регистрацию пользователя на сайте. Но flask не хочет обрабатывать POST запрос (то есть при нажатии на кнопку POST запрос опознается flask-ом как GET запрос)

Использую flask_sqlalchemy

class Users(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(32), primary_key=True, nullable=False)
    email = db.Column(db.String(64), primary_key=True, nullable=False)
    pword = db.Column(db.String(32), nullable=False)
    date = db.Column(db.DateTime, default=datetime.utcnow)

    def __repr__(self):
        return '<Users %r' % self.id

@application.route('/reg', methods=["GET", "POST"])
def reg():
    if request.method == "GET":
        return render_template("reg/index.html")
    else:
        username = request.form['username']
        email = request.form['email']
        pword = request.form['pword']

        user = Users(username=username, email=email, pword=pword)

        try:
            db.session.add(user)
            db.session.commit()
            return "Вы успешно зарегистрировались"
        except:
            return "При регистрации произошла ошибка"


<form>
    <div method="post" class="form">
        <h3 class="center">Регистрация</h3>
        <input type="text" name="username" placeholder="Логин">
        <input type="email" name="email" placeholder="Почта" >
        <input type="password" name="pword" placeholder="Пароль">
        <input type="password" name="pword2" placeholder="Повторите пароль">
        <input type="submit" value="Зарегистрироваться" class="white red-bg">
    </div>
</form>


P.S. Проблем с путанием /reg и /reg/index.html в браузере нет, потому что на сайте есть .htaccess файл, который убирает суффикс index.html со всех страниц
P.P.S. Хэширования паролей и их совпадения, проверки логина, почты пока нет. Сначала решить бы проблему с путанием POST и GET запроса.

При надобности вот полные коды:
python: https://pastebin.com/UMGqpNFV
html: https://pastebin.com/KUuXK8UX
  • Вопрос задан
  • 251 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы