Почему form.validate_on_submit () возвращает false при первой отправке формы? - PullRequest
0 голосов
/ 07 ноября 2019

Я создаю форму входа, используя wtforms, но форма входа не работает при первой отправке. Когда вы отправляете его во второй раз, form.validate_on_submit () делает возвращает true.

Вот мой вид входа в систему:

@app.route("/login", methods=['GET', 'POST'])
def login():
    if current_user.is_authenticated:
        return redirect(url_for('admin'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.first()
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            login_user(user)
            redirect(url_for('admin'))
    return render_template('login.html', form=form)

А вот моя формаhtml:

<form method="POST">
    {{ form.hidden_tag() }}
    <div class="field">
        <div class="control">
            {{ form.password(class="input is-large", placeholder="Your Password") }}
        </div>
    </div>
    {{ form.submit(class="button is-block is-success is-large is-fullwidth") }}
</form>

1 Ответ

0 голосов
/ 07 ноября 2019

Я только что исправил ошибку, в своем коде я случайно набрал redirect(url_for('admin')) вместо return redirect(url_for('admin')).

...