1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- from flask import session
- from flask_wtf import Form
- from wtforms import (StringField, PasswordField, BooleanField)
- from wtforms.validators import Length, DataRequired, Email
- from flask_babelex import lazy_gettext as _
- class BaseForm(Form):
- username = StringField(
- _('Username:'), [DataRequired(), Length(
- min=4, max=20)])
- password = PasswordField(
- _('Password:'), [DataRequired(), Length(
- min=4, max=20)])
- captcha = StringField(
- _('Captcha:'), [DataRequired(), Length(
- min=4, max=4)])
- def validate(self):
- rv = Form.validate(self)
- if not rv:
- return False
- captcha = session['captcha']
- captcha_data = self.captcha.data
- if captcha_data.lower() != captcha.lower():
- self.captcha.errors.append(_('The captcha is error'))
- return False
- return True
- class RegisterForm(BaseForm):
- email = StringField(_('Email:'), [DataRequired(), Email()])
- class LoginForm(BaseForm):
- remember = BooleanField(_('Remember me'), default=False)
|