您仍然必须使用该return
声明 - 例如:
return render_template('login.html', title='Login', form=form)
在所有if-else
分支中,因为,否则,form
上下文变量不会传递给模板.该login
函数应如下所示:
@app.route('/login/', methods=['GET', 'POST']) def login(): form = LoginForm(request.form) if request.method == 'POST' and form.validate(): if load_user(form.username.data) is None: flash('Invalid username') return render_template('login.html', title='Login', form=form) else: if check_password_hash(cred.password, form.password.data): return redirect(url_for('browse')) else: flash('Invalid password') return render_template('login.html', title='Login', form=form) return render_template('login.html', title='Login', form=form)