Spaces:
No application file
No application file
from flask_wtf import FlaskForm | |
from wtforms import StringField, PasswordField, SubmitField | |
from wtforms.validators import DataRequired, Email, EqualTo, Length, ValidationError | |
from models import User | |
from wtforms import FileField | |
from wtforms.validators import Email, Optional | |
from flask_wtf.file import FileAllowed | |
class EditProfileForm(FlaskForm): | |
username = StringField('Имя пользователя', validators=[Optional()]) | |
email = StringField('Email', validators=[Optional(), Email()]) | |
avatar = FileField('Аватарка', validators=[FileAllowed(['jpg', 'png', 'jpeg'], 'Только изображения')]) | |
current_password = PasswordField('Текущий пароль', validators=[Optional()]) | |
new_password = PasswordField('Новый пароль', validators=[Optional()]) | |
confirm_password = PasswordField('Подтвердите новый пароль', validators=[ | |
Optional(), | |
EqualTo('new_password', message='Пароли должны совпадать') | |
]) | |
submit = SubmitField('Сохранить') | |
def validate_email(self, email): | |
user = User.query.filter_by(email=email.data).first() | |
if user: | |
raise ValidationError('Этот email уже используется') | |
class LoginForm(FlaskForm): | |
email = StringField('Email', validators=[DataRequired(), Email()]) | |
password = PasswordField('Пароль', validators=[DataRequired()]) | |
submit = SubmitField('Войти') | |
class RegistrationForm(FlaskForm): | |
username = StringField( | |
'Имя пользователя', | |
validators=[ | |
DataRequired(message="Пожалуйста, введите имя пользователя."), | |
Length(min=4, max=25, message="Имя пользователя должно быть от 4 до 25 символов.") | |
] | |
) | |
email = StringField( | |
'Email', | |
validators=[ | |
DataRequired(message="Пожалуйста, введите email."), | |
Email(message="Пожалуйста, введите корректный email.") | |
] | |
) | |
password = PasswordField( | |
'Пароль', | |
validators=[ | |
DataRequired(message="Пожалуйста, введите пароль."), | |
Length(min=6, message="Пароль должен содержать не менее 6 символов.") | |
] | |
) | |
confirm_password = PasswordField( | |
'Подтвердите пароль', | |
validators=[ | |
DataRequired(message="Пожалуйста, подтвердите пароль."), | |
EqualTo('password', message="Пароли не совпадают.") | |
] | |
) | |
submit = SubmitField('Зарегистрироваться') | |