我有一个使用 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) 我正在尝试渲染一个包含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)