ModuleNotFoundError: No module named 'wtforms.fields.html5'

ModuleNotFoundError: No module named 'wtforms.fields.html5'

我有一个使用 wtforms 的烧瓶应用程序。

我有一个文件:

from wtforms.fields.html5 import DateField, EmailField, TelField

# rest of the file

我只是想重建我的 docker 容器,但现在我遇到了这个错误:

ModuleNotFoundError: No module named 'wtforms.fields.html5'

我的 requirements.txt:

flask
flask-login
flask_sqlalchemy
Flask-Mail
pyodbc
requests
waitress
wtforms

我尝试添加 flask_WTF 但没有解决。

知道发生了什么事吗?我想升级 wtforms,但我好像有最新版本:

pip install wtforms
Requirement already satisfied: wtforms in /usr/local/lib/python3.9/site-packages (3.0.0)
Requirement already satisfied: MarkupSafe in /usr/local/lib/python3.9/site-packages (from wtforms) (2.0.1)

降级 WTForms==2.3.3 解决了我的问题。引用的线程 here.

对于 WTForms >= 3.0.0,只需使用 wtforms.fields 导入这些 类,作为 html5 模块 seems to have been retired in 3.0.0a1。所以在你的情况下:

from wtforms.fields import DateField, EmailField, TelField

有关详细信息,请参阅有关字段的 WTForms 文档(例如 EmailField)。