Форум сайта python.su
Код должен выполняться только по нажатию кнопки Submit!
Но код выполняется даже при обновлении страницы. Как обрабатывать нажание кнопки submit только по нажатию а не при обновлении страницы? :
... if form.validate_on_submit(): if otdel==0 or otdel is None: flash('Выберите отдел!') sql_login='SELECT login,password FROM Employee WHERE login="'+str(login)+'"' for i in db.engine.execute(sql_login): cnt=cnt+1 if cnt!=0 and cnt==1: psw=i.password if psw==pas: return redirect(url_for('main')) else: flash('Неверный пароль! Проверьте правильность введенного пароля.') elif cnt>1: flash('Введенный логин не уникален!!!') else: flash('Неверный Логин!') else: print(form.errors) ...
Отредактировано dbalor (Май 27, 2019 12:57:37)
Офлайн
dbalorКнопка submit должна быть где-то на странице, видимо? Где страница то?
Код должен выполняться только по нажатию кнопки Submit!
Офлайн
<form id="login" method="POST" action="{{ url_for('index') }}"> {{ form.csrf_token }} {{ form.login.label }}{{ form.login }}<br> {{ form.password.label }}{{ form.password }}<br> {{ form.filial.label }}{{ form.filial }}<br> {{ form.otdel.label }}{{ form.otdel }}<br> {{ form.submit() }}<br> </form>
Офлайн
dbalor
И вы хотите сказать, что эта форма сабмитится при обновлении страницы?
Ок, а код формы вы нам покажите?
Отредактировано FishHook (Май 27, 2019 14:24:22)
Офлайн
А первый пост?
Добавьте к нему:
@app.route('/',methods=['GET', 'POST']) def index():
Офлайн
Я давно не в этих технологиях, но дело ли не в вызове submit внутри шаблона?
dbalor
{{ form.submit() }}
Офлайн
Сделал так:
... <form id="login" method="POST" action="{{ url_for('index') }}"> {{ form.csrf_token }} {{ form.login.label }}{{ form.login }}<br> {{ form.password.label }}{{ form.password }}<br> {{ form.filial.label }}{{ form.filial }}<br> {{ form.otdel.label }}{{ form.otdel }}<br> <input type='submit' value='Войти' /> </form> ...
Офлайн