Есть 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