我是 Python 的新手,目前正在使用 Flask WTForms。
如图所示,“注册”按钮被推到一边,为红色通知留出空间。
我该怎么做?
这是我的代码:
class LoginForm(FlaskForm):
user_email = EmailField(label='Email', validators=[DataRequired()])
user_password = PasswordField('Password', [
validators.DataRequired(message='Password is required.'),
validators.Length(message='Password must be at least 8 characters long.', min=8)
])
submit = SubmitField(label='Sign Up')
@app.route("/login", methods=['GET', 'POST'])
def login():
login_form = LoginForm()
login_form.validate_on_submit()
return render_template('login.html', form=login_form)
下面是login.html文件
<!DOCTYPE HTML>
<html>
<head>
<title>Login</title>
</head>
<body>
<div class="container">
<h1>Login</h1>
<form method="POST" action="{{url_for('login')}}" novalidate>
{{ form.csrf_token }}
<p>{{ form.user_email.label }} <br> {{ form.user_email(size=30) }}</p>
{% if form.user_email.errors %}
<ul class="errors">{% for error in form.user_email.errors %}</ul>
<span style="color:red" >{{ error}}</span>
{% endfor %}
{% endif %}
<p>{{ form.user_password.label }} <br> {{ form.user_password(size=30) }}</p>
{% if form.user_password.errors %}
<ul class="errors">{% for error in form.user_password.errors %}</ul>
<span style="color:red" >{{ error}}</span>
{% endfor %}
{% endif %}
{{form.submit}}
</form>
</div>
</body>
</html>
将您的
login.html
表格更改为如下内容:
<form method="POST" action="{{url_for('login')}}" novalidate>
{{ form.csrf_token }}
<p>
{{ form.user_email.label }} <br>
{{ form.user_email(size=30) }}
{% if form.user_email.errors %}
<span style="color:red" >{{ form.user_email.errors | join(',') }}</span>
{% endif %}
</p>
<p>
{{ form.user_password.label }} <br>
{{ form.user_password(size=30) }}
{% if form.user_password.errors %}
<span style="color:red" >{{ form.user_password.errors | join(',') }}</span>
{% endif %}
</p>
{{form.submit}}
</form>
错误
span
现在在 p
内,因此将内联显示。我没有遍历错误,而是使用 join
过滤器用逗号连接它们。