Не могу понять, почему моя форма не вернется по запросу. Я прочитал несколько статей, в которых говорилось, что проблема связана с атрибутом name, поэтому я попытался безуспешно. Также я пробовал разные способы получения формы, такие как
request.form['form']
request.form.get('form')
request.form
Вот шаблон формы
{% block body %}
<div class="app-container">
<h2 class="page-header">Register Form</h2>
{% from "includes/_formhelpers.html" import render_field %}
<form action="" method="POST" name="form">
<div class="form-group">
{{render_field(form.name, class_="form-input")}}
</div>
<div class="form-group">
{{render_field(form.email, class_="form-input")}}
</div>
<div class="form-group">
{{render_field(form.username, class_="form-input")}}
</div>
<div class="form-group">
{{render_field(form.password, class_="form-input")}}
</div>
<div class="form-group">
{{render_field(form.confirm, class_="form-input")}}
</div>
<div class="form-group">
<input type="submit" class="form-btn" value="Submit" name="button">
</div>
</form>
</div>
{% endblock %}
а вот форма маршрута получения запроса
@app.route('/register', methods=['GET', 'POST'])
def register():
form = RegisterForm(request.form.get('form'))
print(form)
if request.method == 'POST' and form.validate():
name = form.name.data
email = form.email.data
username = form.username.data
password = sha256_crypt.encrypt(str(form.password.data))
# set mysql cursor
cur = mysql.connection.cursor()
# insert statement for data to be commited
cur.execute("INSERT INTO users(name, email, username, password) VALUES(%s, %s, %s, %s)", (name, email, username, password))
# commit to db
mysql.connection.commit()
# close connection
cur.close()
flash('You are now registered, please login', 'success')
redirect(url_for('register'))
return render_template('register.html', form=form)
когда я print(form)
получаю это в терминале <__main__.RegisterForm object at 0x03840AF0>
, но это мне мало что говорит. Итак, у меня есть еще один вопрос: как лучше всего отладить эти проблемы?
Заранее спасибо!