from flask_wtf import FlaskForm from wtforms import BooleanField, PasswordField, StringField, SubmitField from wtforms.validators import DataRequired, Email, EqualTo, Length class RegistrationForm(FlaskForm): username = StringField( "Username", validators=[DataRequired(), Length(min=2, max=80)], ) email = StringField( "Email address", validators=[DataRequired(), Email(), Length(max=254)], ) password = PasswordField( "Password", validators=[DataRequired(), Length(min=12, max=128)], ) confirm_password = PasswordField( "Confirm password", validators=[DataRequired(), EqualTo("password")], ) submit = SubmitField("Create account") class LoginForm(FlaskForm): email = StringField( "Email address", validators=[DataRequired(), Email(), Length(max=254)], ) password = PasswordField( "Password", validators=[DataRequired(), Length(max=128)], ) remember = BooleanField("Keep me signed in") submit = SubmitField("Sign in") class LogoutForm(FlaskForm): submit = SubmitField("Sign out")