Я проверил свой код, набрав что-то не то, но как только я нажал на кнопку отправить, на экране не появилось сообщение об ошибке
Я также попытался набрать правильные вещи, чтобы попробовать, но как только я проверил с печатью, это показывает, что проверка всегда терпела неудачу. (Решена)
Приложение:
@app.route('/register', methods=['GET', 'POST'])
def register():
form = RegisterForm()
if form.validate_on_submit():
print('validated')
username = form.username.data
password = bcrypt.generate_password_hash(form.password.data)
email = form.mail.data
print(username, password, email)
flash("Successfully registered")
else:
print('validation failed')
return render_template('register.html', form=form)
RegisterForm:
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField
from wtforms.validators import DataRequired, Length, EqualTo, Email
class RegisterForm(FlaskForm):
username = StringField('Username', [validators.Length(min=4, max=25)])
password = PasswordField('Password', validators=[DataRequired(), Length(min=6, max=20)])
confirm_password = PasswordField('Re-enter Password', validators=[DataRequired(), EqualTo(password)])
email = StringField('Email', validators=[DataRequired(), Email()])
submit = SubmitField('Register')
HTML:
{% extends 'base.html' %}
{% import "bootstrap/wtf.html" as wtf %}
{% block content %}
<div class = 'container'>
<br>
<h1>Register Now</h1>
<br>
<div class="row">
<div class="col-md-8">
{{ form.hidden_tag() }}
{{ wtf.form_errors(form, hiddens="only") }}
{{ wtf.form_field(form.username) }}
{{ wtf.form_field(form.password) }}
{{ wtf.form_field(form.confirm_password) }}
{{ wtf.form_field(form.email) }}
{{ wtf.form_field(form.submit) }}
</div>
</div>
</div>
{% endblock %}
Я также пытался
{{ wtf.quick_form(form) }}
Но который также не генерирует сообщение об ошибке.