Vee*_*uvv 77 python flask wtforms
运行以下代码进行表单验证时出现异常。
File "/Users/homeduvvuri/Documents/Learning/PartyGoUdemy/PartGo/user/forms.py", line 11, in BaseUserForm
email = EmailField('Email', [validators.DataRequired(), validators.Email()])
File "/Users/homeduvvuri/Documents/Learning/PartyGoUdemy/PartGo/partgo-env/lib/python3.7/site-packages/wtforms/validators.py", line 332, in __init__
raise Exception("Install 'email_validator' for email validation support.")
Exception: Install 'email_validator' for email validation support.
Run Code Online (Sandbox Code Playgroud)
在 codeanywhere VM 上完美运行。不在本地机器上。
from flask_wtf import FlaskForm
from flask_wtf.file import FileField, FileAllowed
from wtforms import Form, StringField, PasswordField, validators, ValidationError
from wtforms.validators import InputRequired, Email
from wtforms.fields.html5 import EmailField
from wtforms.widgets import TextArea
from user.models import User
class BaseUserForm(FlaskForm):
name = StringField('Name', [validators.DataRequired(), validators.Length(min=2, max=30)])
email = EmailField('Email', [validators.DataRequired(), validators.Email()])
Run Code Online (Sandbox Code Playgroud)
iva*_*lho 79
如果您查看第 9 行中的 wtforms/validators.py 文件:
import email_validator
Run Code Online (Sandbox Code Playgroud)
只需安装软件包:
pip install email_validator
Run Code Online (Sandbox Code Playgroud)
mun*_*nsu 24
如果你想安装它wtforms:
pip install wtforms[email]
Run Code Online (Sandbox Code Playgroud)
Gre*_* Li 13
从 WTForms 2.3.0 版本开始,电子邮件验证由名为email-validator( PR #429 )的外部库处理。如果要启用电子邮件验证支持,则需要安装带有额外要求的 WTForms email:
$ pip install wtforms[email]
Run Code Online (Sandbox Code Playgroud)
或者你可以email-validator直接安装:
$ pip install email-validator
Run Code Online (Sandbox Code Playgroud)
或者你可以回到旧版本的 WTForms:
$ pip install wtforms==2.2.1
Run Code Online (Sandbox Code Playgroud)
PS 如果你使用的是 Flask-WTF,除了email-validator直接安装,你还可以使用emailextra (如果PR #423合并) 在下一个版本(> 0.14.3) 中。
我在最新更新中遇到了同样的问题,尝试安装 email_validator 和flask-validator 并继续处理此异常。通过在requirements.txt中添加以下行来解决:按照[此处]的建议,email-validator == 1.0.5。(https://github.com/alphagov/notifications-admin/commit/5ce2906c5aa6d16)
实际上 wtforms[email]==2.3.1 是我需要的。
小智 5
当我使用虚拟环境运行它时,这也发生在我身上。anaconda 3.7 但是,当我将项目解释器切换回本地计算机 Python 3.7 时,我运行:
pip 安装 email_validator
效果很好。
我只是觉得很奇怪,我无法在我的 anaconda 项目解释器中安装模块“email_validator”。所以我建议你先尝试使用本地机器。
| 归档时间: |
|
| 查看次数: |
56187 次 |
| 最近记录: |