加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 使用Flask-WTForms选择性地需要字段的正确方法是什么

发布时间:2020-12-16 21:56:03 所属栏目:Python 来源:网络整理
导读:我正在使用Flask与Flask-WTForms,我正在编写一个管理页面,可以更新用户的值 包括密码. 我正在使用我用于注册的相同表单页面,但由于不必更新密码,我不想要它.使用Flask-WTForms进行此操作的正确方法是什么? 我在forms.py中有我的UserForm,我正在考虑制作一个

我正在使用Flask与Flask-WTForms,我正在编写一个管理页面,可以更新用户的值 – 包括密码.

我正在使用我用于注册的相同表单页面,但由于不必更新密码,我不想要它.使用Flask-WTForms进行此操作的正确方法是什么?

我在forms.py中有我的UserForm,我正在考虑制作一个自定义验证器,并且有一个文件级require_password选项,它将覆盖默认检查.我是WTForms的新手,对Flask来说有点新鲜.

最佳答案
这个解决方案似乎做我想要的:

在forms.py中,

from flask.ext.wtf import Optional

def make_optional(field):
    field.validators.insert(0,Optional())

#Rest of code here...

然后在我的烧瓶终点内我可以打电话:

user_form = UserForm()
forms.make_optional(user_form.password)
if user_form.validate_on_submit():
    #Go on your merry way!

这似乎做我想要的 – 保留所有其他验证(例如确认),而忽略任何没有密码存在的东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读