Flask 提交后,表格将保持为空
我的代码是: routes.py:Flask 提交后,表格将保持为空,flask,flask-login,Flask,Flask Login,我的代码是: routes.py: @app.route('/login', methods=['GET', 'POST']) def login(): form = LoginForm() if form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() # None if invalid if user is None
@app.route('/login', methods=['GET', 'POST'])
def login():
form = LoginForm()
if form.validate_on_submit():
user = User.query.filter_by(username=form.username.data).first() # None if invalid
if user is None or not user.check_password(form.password.data):
flash('Invalid username or password')
return redirect(url_for('login'))
login_user(user, remember=form.remember_me.data)
return redirect('dashapp')
print(form.errors)
return render_template('login.html', form=form)
login.html
{% extends "base.html" %}
{% import 'bootstrap/wtf.html' as wtf %}
{% block app_content %}
<h3>Log in</h3>
<div class="row">
<form>
<div class="col-md-4">
{{ wtf.quick_form(form) }}
</div>
</form>
</div>
{% endblock %}
提交时,我的表单仍然为空,因此它未通过表单。请验证提交时的表单()。
我试着简化我的代码,但它仍然不起作用
表单数据对象为用户名:无,密码:无,提交:False。
CSFR令牌不是空的,因此问题不在那里
请参阅我的表格:
class LoginForm(FlaskForm):
username = StringField('Username', validators=[DataRequired()])
password = StringField('Password', validators=[DataRequired()])
remember_me = BooleanField('Remember Me')
submit = SubmitField('Log In')
我的更正删除表单标签: 感谢@Dimitry和@cizario
{% extends "base.html" %}
{% import 'bootstrap/wtf.html' as wtf %}
{% block app_content %}
<h3>Log in</h3>
<div class="row">
<div class="col-md-4">
{{ wtf.quick_form(form) }}
</div>
</div>
{% endblock %}
{%extends“base.html”%}
{%import'bootstrap/wtf.html'作为wtf%}
{%block app_content%}
登录
{{wtf.quick_form(form)}
{%endblock%}
还要添加表单定义,这样我们就可以看到所有图片。虽然quick\u表单无法使用,但我认为您不应该将其放在标签中。它可以是你有两种形式在你的电脑上page@Dmitry是的,你应该删除
标签,看看这篇文章的工作介质。谢谢
{% extends "base.html" %}
{% import 'bootstrap/wtf.html' as wtf %}
{% block app_content %}
<h3>Log in</h3>
<div class="row">
<div class="col-md-4">
{{ wtf.quick_form(form) }}
</div>
</div>
{% endblock %}