Уведомления

Группа в Telegram: @pythonsu

#1 Май 27, 2019 12:54:06

dbalor
Зарегистрирован: 2018-07-02
Сообщения: 73
Репутация: +  0  -
Профиль   Отправить e-mail  

Flask обработка нажатия submit

Код должен выполняться только по нажатию кнопки 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)

Офлайн

#2 Май 27, 2019 13:00:13

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Flask обработка нажатия submit

dbalor
Код должен выполняться только по нажатию кнопки Submit!
Кнопка submit должна быть где-то на странице, видимо? Где страница то?



Офлайн

#3 Май 27, 2019 13:07:21

dbalor
Зарегистрирован: 2018-07-02
Сообщения: 73
Репутация: +  0  -
Профиль   Отправить e-mail  

Flask обработка нажатия 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>

Офлайн

#4 Май 27, 2019 14:21:56

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Flask обработка нажатия submit

dbalor
И вы хотите сказать, что эта форма сабмитится при обновлении страницы?
Ок, а код формы вы нам покажите?



Отредактировано FishHook (Май 27, 2019 14:24:22)

Офлайн

#5 Май 27, 2019 14:33:02

dbalor
Зарегистрирован: 2018-07-02
Сообщения: 73
Репутация: +  0  -
Профиль   Отправить e-mail  

Flask обработка нажатия submit

А первый пост?
Добавьте к нему:

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


Офлайн

#6 Май 27, 2019 14:54:29

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Flask обработка нажатия submit

Я давно не в этих технологиях, но дело ли не в вызове submit внутри шаблона?

dbalor
{{ form.submit() }}



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#7 Май 28, 2019 11:14:05

dbalor
Зарегистрирован: 2018-07-02
Сообщения: 73
Репутация: +  0  -
Профиль   Отправить e-mail  

Flask обработка нажатия 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>
...
В классе формы убрал строчку : submit=SubmitField('Войти')

Ничего не изменилось.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version