【问题标题】:Python Flask flask-admin wtforms.validators AttributeErrorPython Flask flask-admin wtforms.validators AttributeError
【发布时间】:2022-01-18 14:18:24
【问题描述】:

我正在阅读 Matt Copperwaite 的基于 Flask 的教程“学习烧瓶框架”,现在陷入以下错误。 添加 Flask-Admin 后,我开始用它构建管理仪表板。我尝试添加 Fileadmin 模块来控制静态文件:

from flask_admin.contrib.fileadmin import FileAdmin

现在我在尝试访问相应的网络表单后遇到下一个错误:

[2021-12-15 14:14:32,563] ERROR in app: Exception on /admin/blogfileadmin/ [GET]
Traceback (most recent call last):
  File "/home/demino/WebProjects/blog/blog/lib/python3.9/site-packages/flask/app.py", line 2073, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/demino/WebProjects/blog/blog/lib/python3.9/site-packages/flask/app.py", line 1518, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/demino/WebProjects/blog/blog/lib/python3.9/site-packages/flask/app.py", line 1516, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/demino/WebProjects/blog/blog/lib/python3.9/site-packages/flask/app.py", line 1502, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/home/demino/WebProjects/blog/blog/lib/python3.9/site-packages/flask_admin/base.py", line 69, in inner
    return self._run_view(f, *args, **kwargs)
  File "/home/demino/WebProjects/blog/blog/lib/python3.9/site-packages/flask_admin/base.py", line 368, in _run_view
    return fn(self, *args, **kwargs)
  File "/home/demino/WebProjects/blog/blog/lib/python3.9/site-packages/flask_admin/contrib/fileadmin/__init__.py", line 812, in index_view
    delete_form = self.delete_form()
  File "/home/demino/WebProjects/blog/blog/lib/python3.9/site-packages/flask_admin/contrib/fileadmin/__init__.py", line 495, in delete_form
    delete_form_class = self.get_delete_form()
  File "/home/demino/WebProjects/blog/blog/lib/python3.9/site-packages/flask_admin/contrib/fileadmin/__init__.py", line 425, in get_delete_form
    class DeleteForm(self.form_base_class):
  File "/home/demino/WebProjects/blog/blog/lib/python3.9/site-packages/flask_admin/contrib/fileadmin/__init__.py", line 426, in DeleteForm
    path = fields.HiddenField(validators=[validators.Required()])
AttributeError: module 'wtforms.validators' has no attribute 'Required'

我已经经历了 2015 年出版的书带来的一堆问题,但到目前为止,我设法很快解决了这些问题。现在我卡住了,找不到有用的信息。

提前致谢。

Edit1:已解决 - 在 flask-admin -> fileadmin init.py 中手动将 validators.required() 调用更改为 validators.DataRequired()。他们在 v1.0.2 (https://wtforms.readthedocs.io/en/stable/changes/#version-1-0-2) 中对它们进行了区分。不知道究竟哪一个,数据或输入要求在这里是正确的。会看到的。

【问题讨论】:

  • 要关注堆栈溢出问题,您应该将解决方案移至答案,谢谢!

标签: python flask flask-wtforms attributeerror flask-admin


【解决方案1】:

已解决 - 在 flask-admin -> fileadmin init.py 中手动将 validators.required() 调用更改为 validators.DataRequired()。他们在 v1.0.2 (https://wtforms.readthedocs.io/en/stable/changes/#version-1-0-2) 中对它们进行了区分。

【讨论】:

    猜你喜欢
    • 2012-08-02
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多