/
sin0nim
/
rr
Обзор
Документация
Войти
/
sin0nim
/
rr
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
app/auth/forms.py
56 строк
3 KB
sin0nim
Blueprint refactoring
04 май 2023, 19:12
04 май 2023, 19:12
43c052a
Код
Авторство
О чём код?
from flask_wtf import FlaskForm from wtforms import StringField, PasswordField, BooleanField, TextAreaField, SubmitField from wtforms.validators import ValidationError, DataRequired, Email, EqualTo, Length from app.models import User class LoginForm(FlaskForm): username = StringField('Имя', validators=[DataRequired()]) password = PasswordField('Пароль', validators=[DataRequired()]) remember_me = BooleanField('Запомнить меня') submit = SubmitField('Войти') class RegistrationForm(FlaskForm): username = StringField('Username', validators=[DataRequired()]) email = StringField('Email', validators=[DataRequired(), Email()]) password = PasswordField('Password', validators=[DataRequired()]) password2 = PasswordField( 'Repeat Password', validators=[DataRequired(), EqualTo('password')]) submit = SubmitField('Register') def validate_username(self, username): user = User.query.filter_by(username=username.data).first() if user is not None: raise ValidationError('Please use a different username.') def validate_email(self, email): user = User.query.filter_by(email=email.data).first() if user is not None: raise ValidationError('Please use a different email address.') class EditProfileForm(FlaskForm): username = StringField('Username', validators=[DataRequired()]) about_me = TextAreaField('About me', validators=[Length(min=0, max=140)]) submit = SubmitField('Submit') def __init__(self, original_username, *args, **kwargs): super(EditProfileForm, self).__init__(*args, **kwargs) self.original_username = original_username def validate_username(self, username): if username.data != self.original_username: user = User.query.filter_by(username=self.username.data).first() if user is not None: raise ValidationError('Please use a different username.') class PostForm(FlaskForm): post = TextAreaField('Say Something', validators=[DataRequired(), Length(min=1, max=140)]) submit = SubmitField('Submit') class ResetPasswordRequestForm(FlaskForm): email = StringField('Email', validators=[DataRequired(), Email()]) submit = SubmitField('Request Password Reset') class ResetPasswordForm(FlaskForm): password = PasswordField('Password', validators=[DataRequired()]) password2 = PasswordField('Repeat Password', validators=[DataRequired(), EqualTo('password')]) submit = SubmitField('Request Password Reset')