| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- from flask_wtf import FlaskForm
- from wtforms import StringField, PasswordField, SubmitField, TextAreaField, BooleanField, SelectField
- from wtforms.validators import DataRequired, Email, EqualTo, Length, URL, Optional
- from flask_wtf.file import FileField, FileAllowed
- from wtforms.widgets import TextArea
- from flask_wtf import FlaskForm
- from wtforms import StringField, BooleanField, SubmitField
- from wtforms.validators import DataRequired, Length
- class CategoryForm(FlaskForm):
- name = StringField('分类名称', validators=[
- DataRequired(message='分类名称不能为空'),
- Length(min=2, max=100, message='分类名称长度必须在2-100个字符之间')
- ])
- is_public = BooleanField('设为公共分类')
- submit = SubmitField('保存')
- class LoginForm(FlaskForm):
- username = StringField('用户名', validators=[DataRequired()])
- password = PasswordField('密码', validators=[DataRequired()])
- submit = SubmitField('登录')
- class RegisterForm(FlaskForm):
- username = StringField('用户名', validators=[DataRequired(), Length(min=3, max=80)])
- email = StringField('邮箱', validators=[DataRequired(), Email(), Length(max=120)])
- password = PasswordField('密码', validators=[DataRequired(), Length(min=6)])
- password2 = PasswordField('确认密码', validators=[DataRequired(), EqualTo('password')])
- submit = SubmitField('注册')
- # 在 SiteForm 类中添加以下字段
- class SiteForm(FlaskForm):
- name = StringField('站点名称', validators=[DataRequired(), Length(max=200)])
- url = StringField('网址', validators=[DataRequired(), URL(), Length(max=500)])
- description = TextAreaField('描述', validators=[Optional(), Length(max=500)])
- category_id = SelectField('分类', coerce=int, validators=[DataRequired()])
- custom_icon = FileField('自定义图标 (可选)', validators=[
- FileAllowed(['jpg', 'jpeg', 'png', 'gif', 'webp'], '只允许上传图片文件!')
- ])
- is_public = BooleanField('公开站点')
- submit = SubmitField('保存')
- class CategoryForm(FlaskForm):
- name = StringField('分类名称', validators=[DataRequired(), Length(max=100)])
- is_public = BooleanField('公开分类')
- submit = SubmitField('保存')
- class ImportBookmarksForm(FlaskForm):
- bookmark_file = FileField('选择书签文件(HTML)', validators=[DataRequired()])
- import_as_public = BooleanField('导入为公共书签(仅管理员)')
- submit = SubmitField('导入书签')
- class SearchForm(FlaskForm):
- q = StringField('搜索站点', validators=[Optional(), Length(max=100)])
- class UserForm(FlaskForm):
- username = StringField('用户名', validators=[DataRequired()])
- email = StringField('邮箱', validators=[DataRequired(), Email()])
- password = PasswordField('密码', validators=[Optional()]) # 编辑时可选
- password_confirm = PasswordField('确认密码', validators=[
- Optional(),
- EqualTo('password', message='两次输入的密码必须一致')
- ])
- is_admin = BooleanField('管理员')
- submit = SubmitField('提交')
|