I am encountering a KeyError: 'body-count' error when trying to open a page for editing in Wagtail that includes a WagtailFormBlock in the streamfields.
Steps to reproduce:
Create a page with a WagtailFormBlock in the streamfields
You should not be able to see the body cause it should be buggy cause the WagtailFormBlock
Actual behavior:
Encountering a KeyError: 'body-count' error when attempting to open the page for editing.
class LandingPage(Page):
template = "home/landing_page.html"
body = StreamField([
('form', WagtailFormBlock())
])
content_panels = Page.content_panels + [
FieldPanel("body"),
]
parent_page_types = ["hintbox.HomePage"]
subpage_types = []
class Meta:
verbose_name = "Landing Page"
Console error:
Traceback (most recent call last):
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/django/utils/datastructures.py", line 84, in __getitem__
list_ = super().__getitem__(key)
KeyError: 'body-count'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/django/views/decorators/cache.py", line 62, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/wagtail/admin/urls/__init__.py", line 175, in wrapper
return view_func(request, *args, **kwargs)
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/wagtail/admin/auth.py", line 186, in decorated_view
response = view_func(request, *args, **kwargs)
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/django/views/generic/base.py", line 103, in view
return self.dispatch(request, *args, **kwargs)
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/wagtail/admin/views/generic/preview.py", line 30, in dispatch
return super().dispatch(request, *args, **kwargs)
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/django/views/generic/base.py", line 142, in dispatch
return handler(request, *args, **kwargs)
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/wagtail/admin/views/generic/preview.py", line 73, in post
form = self.get_form(request.POST)
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/wagtail/admin/views/pages/preview.py", line 98, in get_form
if form.is_valid():
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/wagtail/admin/forms/pages.py", line 176, in is_valid
return super().is_valid()
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/modelcluster/forms.py", line 343, in is_valid
form_is_valid = super().is_valid()
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/django/forms/forms.py", line 205, in is_valid
return self.is_bound and not self.errors
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/django/forms/forms.py", line 200, in errors
self.full_clean()
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/django/forms/forms.py", line 437, in full_clean
self._clean_fields()
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/django/forms/forms.py", line 444, in _clean_fields
value = bf.initial if field.disabled else bf.data
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/django/forms/boundfield.py", line 127, in data
return self.form._widget_data_value(self.field.widget, self.html_name)
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/django/forms/forms.py", line 224, in _widget_data_value
return widget.value_from_datadict(self.data, self.files, html_name)
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/wagtail/blocks/base.py", line 576, in value_from_datadict
return self.block_def.value_from_datadict(data, files, name)
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/wagtail/blocks/stream_block.py", line 104, in value_from_datadict
count = int(data["%s-count" % prefix])
File "/Users/pdeero/Projekte/website/venv/lib/python3.8/site-packages/django/utils/datastructures.py", line 86, in __getitem__
raise MultiValueDictKeyError(key)
django.utils.datastructures.MultiValueDictKeyError: 'body-count'
Please let me know if there is any further information I can provide to help troubleshoot this issue.
I am encountering a KeyError: 'body-count' error when trying to open a page for editing in Wagtail that includes a WagtailFormBlock in the streamfields.
Steps to reproduce:
Create a page with a WagtailFormBlock in the streamfields You should not be able to see the body cause it should be buggy cause the WagtailFormBlock
Actual behavior:
Encountering a KeyError: 'body-count' error when attempting to open the page for editing.
Environment:
Used page class:
Console error:
Please let me know if there is any further information I can provide to help troubleshoot this issue.
Thanks for help in advance.