请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

帐号验证

不明白forms.py中的account = field.data

def validate_account(self,field):
    account = field.data
    #print (account)
    admin = Admin.query.filter_by(name=account).count()
    if admin == 0:
        raise ValidationError("帐号不存在了")

老师能详细讲一下吗,field.data只是字符串,包含账户,没有密码吗?

对于view中登录函数的时候

if form.validate_on_submit():
    data = form.data
    admin = Admin.query.filter_by(name=data["account"]).first()

form.data 是一个字典吧。

account = field.data 和form.data 的区别是什么?


正在回答 回答被采纳积分+3

1回答

rustgopy 2017-08-16 16:03:26

同学,你好

  1. 字段验证器:validate_字段名,field.data获取到的是当前验证字段的值,可能是字符串也可能是整型,这个根据你定义的表单字段来判断

  2. form.data获取到的是表单提交过来的数据集合,比如说提交了name、age、sex三个数据,form.data就表示这三个数据的集合,具体的你可以使用print()打印,然后在终端控制台查看数据类型

0 回复 有任何疑惑可以回复我~
  • 提问者 504Gooo #1
    不知道这样理解对吗。validate这是个WTForms提供的来验证表单数据的函数,即固定的,validate_pwd 就是自定义来验证密码。根据字段名验证表单字段。
    我还得多看一下WTForms文档。
    回复 有任何疑惑可以回复我~ 2017-08-16 16:19:58
  • rustgopy 回复 提问者 504Gooo #2
    对的,不仅是表单验证,更切确的说还可以类型验证、自定义验证、正则验证。
    回复 有任何疑惑可以回复我~ 2017-08-16 16:21:09
  • 提问者 504Gooo #3
    谢谢老师的及时回复,答疑解惑
    回复 有任何疑惑可以回复我~ 2017-08-16 16:24:35
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信