Python 请解释一下水瓶WTF

Python 请解释一下水瓶WTF,python,flask,flask-wtforms,Python,Flask,Flask Wtforms,这是我的密码检查代码,一切都很好,但我不完全理解为什么我需要将第二个参数放在括号内def password_check(表单,字段):以便我的函数工作。当我从括号中删除字段时,它不再工作 这是我的密码 重新导入 来自flask_wtf进口FlaskForm 从wtforms导入StringField、SubmitField、PasswordField 从wtforms.validators导入EqualTo、InputRequested、电子邮件、ValidationError 从模型导入用户

这是我的密码检查代码,一切都很好,但我不完全理解为什么我需要将第二个参数放在括号内def password_check(表单,字段):以便我的函数工作。当我从括号中删除字段时,它不再工作 这是我的密码

重新导入
来自flask_wtf进口FlaskForm
从wtforms导入StringField、SubmitField、PasswordField
从wtforms.validators导入EqualTo、InputRequested、电子邮件、ValidationError
从模型导入用户
def密码检查(表格、字段):
密码=form.password.data
如果len(密码)<4:
raise ValidationError('密码长度必须至少为8个字母')
elif重新搜索(“[0-9]”,密码)为无:
raise ValidationError('密码必须包含数字')
elif重新搜索(“[A-Z]”,密码)为无:
raise ValidationError('密码必须有一个大写字母')
班级登记表(烧瓶表):
name=StringField(验证器=[InputRequired(message='Please enter Your name'))
lastname=StringField(验证器=[InputRequested(message='Please enter Your lastname'))]
email=StringField(验证器=[InputRequired(),email()])
密码=密码字段(验证器=[InputRequired(),密码检查])
确认密码字段(验证程序=[InputRequired(),EqualTo('password',message='Passwords
必须匹配“”)])
submit=SubmitField('寄存器')

StringField()的
验证器
参数要求某种类型的(在您的情况下,您传递的是
列表
,但我怀疑任何iterable都应该起作用)

validators–调用validate时要调用的一系列验证器

表单
字段
是验证器的必需参数,因为它们被传递给每个验证器。。根据(强调矿山)

我们在这里所做的就是将完全相同的代码移出类并作为函数。由于验证器可以是任何接受两个位置参数表单和字段的可调用函数,这是非常好的,但是验证器的情况非常特殊


StringField()
validators
参数需要某种类型的(在您的情况下,您传递的是一个
列表
,但我怀疑任何iterable都应该工作)

validators–调用validate时要调用的一系列验证器

表单
字段
是验证器的必需参数,因为它们被传递给每个验证器。。根据(强调矿山)

我们在这里所做的就是将完全相同的代码移出类并作为函数。由于验证器可以是任何接受两个位置参数表单和字段的可调用函数,这是非常好的,但是验证器的情况非常特殊


欢迎来到堆栈溢出。您的问题不清楚,您能否将您的问题显示为“括号内”与“不在括号内”?当我从此处删除“字段”时-->def password_check(表格,字段):@G.anderson“不起作用”是什么意思?当您删除
字段
时,它是在您尝试运行代码时抛出错误,还是只是不执行任何操作?如果有错误,请提供更合理的错误的完整回溯-我已经在我的答案中添加了文档的特定部分;它们是必需的,因为它们作为参数传递给sequence@G.Anderson当我删除“字段”时,这是一个错误代码:password_check()接受1个位置参数,但提供了2个位置参数,这将导致堆栈溢出。您的问题不清楚,您能否将您的问题显示为“括号内”与“不在括号内”?当我从此处删除“字段”时-->def password_check(表格,字段):@G.anderson“不起作用”是什么意思?当您删除
字段
时,它是在您尝试运行代码时抛出错误,还是只是不执行任何操作?如果有错误,请提供更合理的错误的完整回溯-我已经在我的答案中添加了文档的特定部分;它们是必需的,因为它们作为参数传递给sequence@G.Anderson当我删除“字段”时,这是一个错误代码:password_check()接受1个位置参数,但2个被赋予了reat@ti7,谢谢!太好了@ti7,谢谢!