相关疑难解决方法(0)

ModuleNotFoundError:没有名为“wtforms.fields.html5”的模块

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

我有一个文件,它的作用是:

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

# rest of the file
Run Code Online (Sandbox Code Playgroud)

我只是想重建我的 docker 容器,现在出现此错误:

ModuleNotFoundError: No module named 'wtforms.fields.html5'
Run Code Online (Sandbox Code Playgroud)

我的requirements.txt

flask
flask-login
flask_sqlalchemy
Flask-Mail
pyodbc
requests
waitress
wtforms
Run Code Online (Sandbox Code Playgroud)

我尝试添加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)
Run Code Online (Sandbox Code Playgroud)

python flask wtforms flask-wtforms

16
推荐指数
2
解决办法
1万
查看次数

使用Flask,Flask-Admin和WTforms的DatePickerWidget

我正在尝试渲染一个包含DatePicker的模板,但是当我尝试时遇到500错误.因为我的代码是正确的,但似乎有些东西失败了或者我没有正确理解它的方法.

代码如下:

Reporting.py

from flask.ext.admin import BaseView, expose
from wtforms import DateField, Form
from wtforms.validators import Required
from flask.ext.admin.form import widgets
from flask import request

class DateRangeForm(Form):
    start_date = DateField('Start', validators=[Required()], format = '%d/%m/%Y', description = 'Time that the event will occur', widget=widgets.DatePickerWidget)

class ReportingView(BaseView):
    @expose('/')
    def index(self):
        form = DateRangeForm(request.form)
        return self.render('reporting.j2', form=form)
Run Code Online (Sandbox Code Playgroud)

报告模板:

{% extends 'admin/master.html' %}
{% block body %}
    {{super()}}
    Working on it!

    {% if form %}
        {{form.start_date}}
    {% endif %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

jinja2 flask wtforms flask-wtforms flask-admin

15
推荐指数
1
解决办法
2万
查看次数

标签 统计

flask ×2

flask-wtforms ×2

wtforms ×2

flask-admin ×1

jinja2 ×1

python ×1