【问题标题】:Wagtailstreamforms TypeError from_db_value() missing 1 required positional argument: 'context'Wagtailstreamforms TypeError from_db_value() 缺少 1 个必需的位置参数:'context'
【发布时间】:2020-04-12 19:37:21
【问题描述】:

我在尝试使用 wagtailstreamforms 时遇到此错误。构建了一个从头开始的环境并重现了错误。我安装的唯一东西:

Django==3.0.5
wagtail==2.8
wagtailstreamforms==3.9

在 base.py 中添加(如文档中所述):

    'wagtail.contrib.modeladmin',
    'wagtailstreamforms'

其他所有内容都保持不变(标准 Wagtail base.py),迁移数据库。主页 127.0.0.1:8000 按预期提供 Wagtail 的欢迎页面,管理员位于 127.0.0.1:8000/admin/ 左侧菜单中的 Streamforms 项如预期。当我点击它时,我可以制作一个表单,当我为表单制作第一个字段然后保存它时,我收到上面的错误。之后我无法再访问 Streamforms 部分,我在尝试时立即收到相同的错误。

我浏览了关于 wagtailstreamforms 的所有帖子以及互联网上的许多类似项目,没有解决方案。我做错了什么?

完整的错误日志:

Internal Server Error: /admin/wagtailstreamforms/form/
Traceback (most recent call last):
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/core/handlers/base.py", line 145, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/core/handlers/base.py", line 143, in _get_response
    response = response.render()
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/response.py", line 105, in render
    self.content = self.rendered_content
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/response.py", line 83, in rendered_content
    return template.render(context, self._request)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 171, in render
    return self._render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 163, in _render
    return self.nodelist.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 163, in _render
    return self.nodelist.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 163, in _render
    return self.nodelist.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 163, in _render
    return self.nodelist.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/defaulttags.py", line 309, in render
    return nodelist.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/template/library.py", line 214, in render
    _dict = self.func(*resolved_args, **resolved_kwargs)
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/wagtail/contrib/modeladmin/templatetags/modeladmin_tags.py", line 94, in result_list
    'results': list(results(view, object_list))})
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/wagtail/contrib/modeladmin/templatetags/modeladmin_tags.py", line 74, in results
    for item in object_list:
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/db/models/query.py", line 276, in __iter__
    self._fetch_all()
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/db/models/query.py", line 1261, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/db/models/query.py", line 74, in __iter__
    for row in compiler.results_iter(results):
  File "/Users/paulsmits/Code/MyCompany/streamformserror/env/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1095, in apply_converters
    value = converter(value, expression, connection)
TypeError: from_db_value() missing 1 required positional argument: 'context'
[12/Apr/2020 19:32:19] "GET /admin/wagtailstreamforms/form/ HTTP/1.1" 500 304823

【问题讨论】:

    标签: django forms wagtail


    【解决方案1】:

    终于找到答案了。 Wagtailstreamforms 还不支持 Django 3.0,尽管文档中没有提到。有一项显然已安排但尚未推送的更改会导致错误,请参阅https://github.com/timonweb-forks/wagtailstreamforms/commit/57ff036593b43f4dd7926412d0075cefb934e5e5。在我的环境中手动更改后,一切正常。我会让开发者知道的。

    【讨论】:

      猜你喜欢
      • 2020-09-25
      • 1970-01-01
      • 2013-07-06
      • 2019-06-25
      • 2013-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多