Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » Flask-login, или wtforms, делают что-то странное [RSS Feed]

#1 Июнь 23, 2015 00:16:21

Nahtrezer
Зарегистрирован: 2013-09-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Flask-login, или wtforms, делают что-то странное

А каков шанс, что wtf.quick_form криво сгенерировал форму?

<form action="." method="post" class="form" role="form">
  <div style="display:none;"><input id="csrf_token" name="csrf_token" type="hidden" value="1435011238##c2f2001067e9c48da345e9209a043ead473f57ea"></div>
  <div class="form-group  required"><label class="control-label" for="email">Email</label>
        <input class="form-control" id="email" name="email" required type="text" value="">
  </div>
  <div class="form-group  required"><label class="control-label" for="password">Passsword</label>
        <input class="form-control" id="password" name="password" required type="password" value="">
  </div>
    <div class="checkbox">
      <label>
        <input id="remember_me" name="remember_me" type="checkbox" value="y"> Remember me
      </label>
    </div>
    <input class="btn btn-default" id="submit" name="submit" type="submit" value="Log in">
</form>

Отредактировано Nahtrezer (Июнь 23, 2015 00:17:36)

Офлайн

#2 Июнь 23, 2015 00:34:12

Nahtrezer
Зарегистрирован: 2013-09-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Flask-login, или wtforms, делают что-то странное

Итак

@app.route('/login', methods=['GET', 'POST'])
def login():
    form = LoginForm()
    print form.errors
    if form.is_submitted():
        print "submitted"
    return render_template('login.html', form=form)

Но по нажатию Submit на форме получаю редирект на ‘/’
Пребываю в тихом ужасе.

Отредактировано Nahtrezer (Июнь 23, 2015 00:34:40)

Офлайн

#3 Июнь 23, 2015 01:24:31

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Flask-login, или wtforms, делают что-то странное

Да все работает. Вот код:

@app.login_manager.user_loader
def get_user(user_id):
    user = g.db_session.query(Client).filter_by(id=user_id).one()
    return user
#
@app.route("/login/", methods=["GET", "POST"])
def log_in():
    form = LoginForm()
    if form.validate_on_submit():
        # use data from request.form
        user = g.db_session.query(Client).first()
        login_user(user)
        # redirect to index
        return redirect(url_for("IndexView:index"))
    else:
        return render_template("login.html", form=form)
#
@app.route("/logout/", methods=["GET"])
def log_out():
    logout_user()
    # redirect to index
    return redirect(url_for("IndexView:index"))

Отредактировано 4kpt_III (Июнь 23, 2015 01:25:33)

Офлайн

#4 Июнь 23, 2015 07:56:48

Nahtrezer
Зарегистрирован: 2013-09-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Flask-login, или wtforms, делают что-то странное

Исправил

@app.route('/login', methods=['GET', 'POST'])]
на
@app.route('/login/', methods=['GET', 'POST'])]
Теперь всё работает O_o
Если так и надо, то почему во всех источниках второй слеш опускают?…

Отредактировано Nahtrezer (Июнь 23, 2015 07:58:03)

Офлайн

#5 Июнь 23, 2015 12:43:12

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Flask-login, или wtforms, делают что-то странное

Nahtrezer
сли так и надо, то почему во всех источниках второй слеш опускают?…

В документации об этом есть. Поэтому и опускают, зная, что Вы уже прочитали документацию

Офлайн

#6 Июнь 23, 2015 15:59:39

Nahtrezer
Зарегистрирован: 2013-09-04
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Flask-login, или wtforms, делают что-то странное

4kpt_III
В документации об этом есть. Поэтому и опускают, зная, что Вы уже прочитали документацию
Не нашел
В любом случае, большое спасибо за помощь.

Офлайн

#7 Июнь 23, 2015 17:18:57

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

Flask-login, или wtforms, делают что-то странное

Офлайн

  • Начало
  • » Web
  • » Flask-login, или wtforms, делают что-то странное[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version