Найти - Пользователи
Полная версия: Flask обработка нажатия submit
Начало » Web » Flask обработка нажатия submit
1
dbalor
Код должен выполняться только по нажатию кнопки 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)
...
FishHook
dbalor
Код должен выполняться только по нажатию кнопки Submit!
Кнопка submit должна быть где-то на странице, видимо? Где страница то?
dbalor
 <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>
FishHook
dbalor
И вы хотите сказать, что эта форма сабмитится при обновлении страницы?
Ок, а код формы вы нам покажите?
dbalor
А первый пост?
Добавьте к нему:

 @app.route('/',methods=['GET', 'POST'])
def index():


JOHN_16
Я давно не в этих технологиях, но дело ли не в вызове submit внутри шаблона?
dbalor
{{ form.submit() }}
dbalor
Сделал так:
 ...
<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>
...
В классе формы убрал строчку : submit=SubmitField('Войти')

Ничего не изменилось.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB