Что не так в проекте flask?

Привет всем!

Изучаю flask по учебнику на хабре, столкнулся с такой ошибкой, бьюсь уже несколько дней:
File "c:\users\morozovg\documents\flaskstudyenv\lib\site-packages\wtforms\fields\core.py", line 226, in _run_validation_chain
    validator(form, self)
TypeError: __init__() takes from 1 to 2 positional arguments but 3 were given


Ошибка возникла после того как добавил форму (и возникает ошибка при отправке формы)
вот код формы (forms.py):
from flask_wtf import FlaskForm
from wtforms import StringField,PasswordField,BooleanField,SubmitField
from wtforms.validators import DataRequired

class LoginForm(FlaskForm):
    username = StringField('Username', validators=[DataRequired])
    password = PasswordField('Password', validators=[DataRequired])
    remember_me = BooleanField('remember Me')
    submit = SubmitField('Sign in')


И код странички (routes.py):

@app.route('/login', methods=['GET','POST'])
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash('Login requested for user {}, remember_me={}'.format(
            form.username.data, form.remember_me.data))
        return redirect('/index')
    return render_template('login.html', title='Sign in', form=form)


Подскажите пожалуйста, где ошибка. Заранее благодарю
  • Вопрос задан
  • 264 просмотра
Решения вопроса 1
@immaculate
Программист-путешественник
В validators надо передавать экземпляры класса, а не сам класс:
username = StringField('Username', validators=[DataRequired()])
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы