DjangoCMS TypeError:from_db_value()缺少1个必需的位置参数:升级到3.7.2 w / Django 3.0.1后的'context'

瑞安·F

我有一个运行DjangoCMS 3.7.1和Django 2.2的可运行DjangoCMS应用程序,但是在将DjangoCMS版本提高到3.7.2并将Django升级到3.0.1之后,我现在在页面上出现了渲染错误一个简单的列表视图。

该站点将很好地加载我的自定义帐户登录页面,但登录后,列表视图将中断并显示以下错误:追溯

django.request ERROR 2020-04-26 21:15:16,809 log 461 140647593613056 Internal Server Error: /en/
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py", line 145, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py", line 143, in _get_response
    response = response.render()
  File "/usr/local/lib/python3.8/site-packages/django/template/response.py", line 105, in render
    self.content = self.rendered_content
  File "/usr/local/lib/python3.8/site-packages/django/template/response.py", line 83, in rendered_content
    return template.render(context, self._request)
  File "/usr/local/lib/python3.8/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 171, in render
    return self._render(context)
  File "/usr/local/lib/python3.8/site-packages/django/test/utils.py", line 95, in instrumented_test_render
    return self.nodelist.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/usr/local/lib/python3.8/site-packages/django/test/utils.py", line 95, in instrumented_test_render
    return self.nodelist.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.8/site-packages/classytags/core.py", line 154, in render
    return self.render_tag(context, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/sekizai/templatetags/sekizai_tags.py", line 88, in render_tag
    rendered_contents = nodelist.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.8/site-packages/classytags/core.py", line 154, in render
    return self.render_tag(context, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/cms/templatetags/cms_tags.py", line 447, in render_tag
    return toolbar.render_with_structure(context, nodelist)
  File "/usr/local/lib/python3.8/site-packages/cms/toolbar/toolbar.py", line 477, in render_with_structure
    rendered_contents = nodelist.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/defaulttags.py", line 309, in render
    return nodelist.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py", line 188, in render
    return template.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 173, in render
    return self._render(context)
  File "/usr/local/lib/python3.8/site-packages/django/test/utils.py", line 95, in instrumented_test_render
    return self.nodelist.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 936, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.8/site-packages/django/template/defaulttags.py", line 166, in render
    len_values = len(values)
  File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 258, in __len__
    self._fetch_all()
  File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 1261, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 74, in __iter__
    for row in compiler.results_iter(results):
  File "/usr/local/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1081, in apply_converters
    value = converter(value, expression, connection)
TypeError: from_db_value() missing 1 required positional argument: 'context'
django.server ERROR 2020-04-26 21:15:19,051 basehttp 461 140647593613056 "GET /en/ HTTP/1.1" 500 314261

冻死

amqp==2.5.2
asgiref==3.2.7
astroid==2.3.3
attrs==19.3.0
beautifulsoup4==4.9.0
billiard==3.6.3.0
boto==2.49.0
celery==4.4.2
certifi==2020.4.5.1
chardet==3.0.4
coverage==5.1
dicttoxml==1.7.4
Django==3.0.1
django-appconf==1.0.4
django-bootstrap-form==3.4
django-classy-tags==1.0.0
django-cms==3.7.2
django-crispy-forms==1.9.0
django-debug-toolbar==2.2
django-environ==0.4.5
django-extensions==2.2.9
django-filer==1.7.0
django-formtools==2.2
django-ipware==2.1.0
django-js-asset==1.2.2
django-mail-queue==3.2.4
django-meta==1.6.1
django-model-utils==4.0.0
django-money==1.1
django-mptt==0.11.0
django-parler==2.0.1
django-polymorphic==2.1.2
django-reversion==3.0.7
django-robots==4.0
django-sekizai==1.1.0
django-select2==7.2.3
django-storages==1.9.1
django-taggit==1.2.0
django-taggit-autosuggest==0.3.8
django-taggit-templatetags==0.2.5
django-templatetag-sugar==1.0
django-treebeard==4.3.1
django-user-accounts==3.0.0
djangocms-admin-style==1.5.0
djangocms-attributes-field==1.2.0
djangocms-bootstrap4==1.6.0
djangocms-file==2.4.0
djangocms-googlemap==1.4.0
djangocms-icon==1.5.0
djangocms-link==2.6.0
djangocms-picture==2.4.0
djangocms-snippet==2.3.0
djangocms-style==2.3.0
djangocms-text-ckeditor==3.9.0
djangocms-video==2.3.0
djangorestframework==3.11.0
easy-thumbnails==2.7
fancycompleter==0.9.1
gunicorn==20.0.4
html5lib==1.0.1
idna==2.9
isort==4.3.21
kombu==4.6.8
lazy-object-proxy==1.4.3
mccabe==0.6.1
mimeparse==0.1.3
more-itertools==8.2.0
packaging==20.3
pdbpp==0.10.2
Pillow==7.1.2
pluggy==0.13.1
psycopg2-binary==2.8.5
py==1.8.1
py-moneyed==0.8.0
Pygments==2.6.1
pylint==2.4.4
pyparsing==2.4.7
pyrepl==0.9.0
pytest==5.4.1
pytest-django==3.9.0
pytest-pythonpath==0.7.3
python-dateutil==2.8.1
pytz==2019.3
pyuploadcare==2.6.0
redis==3.4.1
requests==2.23.0
six==1.14.0
soupsieve==2.0
sqlparse==0.3.1
Unidecode==1.1.1
urllib3==1.25.9
vine==1.3.0
wcwidth==0.1.9
webencodings==0.5.1
whitenoise==5.0.1
wmctrl==0.3
wrapt==1.11.2

视图

class ProductView(LoginRequiredMixin, ListView):
    template_name = "products/index.html"
    model = models.Product

    def get_queryset(self):
        qs = super().get_queryset()
        tag = self.request.GET.get("tag")
        if tag:
            qs = qs.filter(tags__slug=tag)

        strain = self.request.GET.get("strain")
        if strain:
            qs = qs.filter(strain__label__icontains=strain)

        return qs

当我逐步查看视图的代码时,通过将pdb放到setup方法中,我进入到下面提到的在开始追溯的位置进行的渲染调用,看来:

129             # If the response supports deferred rendering, apply template
 130             # response middleware and then render the response
 131             elif hasattr(response, 'render') and callable(response.render):
 132                 for middleware_method in self._template_response_middleware:
 133                     response = middleware_method(request, response)
 134                     # Complain if the template response middleware returned None (a common error).
 135                     if response is None:
 136                         raise ValueError(
 137                             "%s.process_template_response didn't return an "
 138                             "HttpResponse object. It returned None instead."
 139                             % (middleware_method.__self__.__class__.__name__)
 140                         )
 141
 142                 try:
 143  ->                 response = response.render()
 144                 except Exception as e:
 145                     response = self.process_exception_by_middleware(e, request)
 146
 147             return response
(Pdb++)
TypeError: from_db_value() missing 1 required positional argument: 'context'
[62] > /usr/local/lib/python3.8/site-packages/django/core/handlers/base.py(143)_get_response()
-> response = response.render()
> /usr/local/lib/python3.8/site-packages/django/core/handlers/base.py(143)

我们将不胜感激任何指导或帮助,也很乐意在必要时提供更多背景信息-我对Stackoverflow还是陌生的。

迈克尔·伯德

我遇到了将DjangoCMS升级到3.7.2的相同问题。我相信context参数在Django 3中已删除()。我的问题是djangocms-text-ckeditor还不支持Django 3。更具体地说,我模型中的HTMLField不起作用。如果您想像其他人一样对此发表评论,则在这里打开了一个问题也许它将使他们尽快修复它。现在,您可能必须等到它修复。干杯!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章