Exception: Install ‘email_validator‘ for email validation support.

在使用Flask-WTF建立表单时遇到Email验证器缺失的问题,由于WTForms 2.3.0以后移除了内置的Email验证。解决方法包括:1) 安装带email支持的WTForms;2) 直接安装email-validator库;3) 回退WTForms版本到2.2.1。尽管某些版本的flask-wtf可能支持email-validator,但在0.15.1版本中仍无法使用。
摘要由CSDN通过智能技术生成

当我在flask项目如下图建立表单时使用了Email验证器的时候,出现了让我安装‘email_validator’的提示,但我是根据书上的代码来敲的,就去找了一下原因:发现是2.3.0以后的WTForms已经不支持email验证器了,而我用来建立表单的flask-wtf是集成了wtforms的,所以也是没有该验证器的了。

class CommentForm(FlaskForm):
    author = StringField('Name', validators=[DataRequired(), Length(1, 30)])
    email = StringField('Email', validators=[DataRequired(), Email(), Length(1, 254)])
    site = StringField('Site', validators=[Optional(), URL(), Length(0, 255)])
    body = TextAreaField('Comment', validators=[DataRequired()])
    submit = SubmitField()

 解决方法有以下三种:

1.安装对email支持的wtforms

$ pip install wtforms[email]

2直接安装email-validator

$ pip install email-validator

3.回退wtforms版本

$ pip install wtforms==2.2.1

ps:上述回答参考自这里grey li的回答,但是那里还说如果用的是flask-wtf,那么在0.14.3之后的flask-wtf是可能可以用email-validator,目前我的版本是0.15.1,依然用不了那应该没有合并相关功能了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值