python - 上传/查看某些图片时出错 - 找不到再现 - django storages/ wagtail
问题描述
Wagtail 版本:2.9.2 Django 存储:==1.11.1
错误:
2021-06-07 14:13:12 ERROR Internal Server Error: /admin/images/38/
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.7/site-packages/wagtail/images/models.py", line 300, in get_rendition
focal_point_key=cache_key,
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py", line 417, in get
self.model._meta.object_name
wagtail.images.models.Rendition.DoesNotExist: Rendition matching query does not exist.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py", line 559, in get_or_create
return self.get(**kwargs), False
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py", line 417, in get
self.model._meta.object_name
wagtail.images.models.Rendition.DoesNotExist: Rendition matching query does not exist.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/base.py", line 145, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/base.py", line 143, in _get_response
response = response.render()
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/response.py", line 105, in render
self.content = self.rendered_content
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/response.py", line 83, in rendered_content
return template.render(context, self._request)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/backends/django.py", line 61, in render
return self.template.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 171, in render
return self._render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 163, in _render
return self.nodelist.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 936, in render
bit = node.render_annotated(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 903, in render_annotated
return self.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 163, in _render
return self.nodelist.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 936, in render
bit = node.render_annotated(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 903, in render_annotated
return self.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 163, in _render
return self.nodelist.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 936, in render
bit = node.render_annotated(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 903, in render_annotated
return self.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 163, in _render
return self.nodelist.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 936, in render
bit = node.render_annotated(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 903, in render_annotated
return self.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 936, in render
bit = node.render_annotated(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 903, in render_annotated
return self.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 936, in render
bit = node.render_annotated(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 903, in render_annotated
return self.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/defaulttags.py", line 209, in render
nodelist.append(node.render_annotated(context))
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 903, in render_annotated
return self.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/defaulttags.py", line 309, in render
return nodelist.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 936, in render
bit = node.render_annotated(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 903, in render_annotated
return self.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/loader_tags.py", line 188, in render
return template.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 173, in render
return self._render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 163, in _render
return self.nodelist.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 936, in render
bit = node.render_annotated(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 903, in render_annotated
return self.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/loader_tags.py", line 188, in render
return template.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 173, in render
return self._render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 163, in _render
return self.nodelist.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 936, in render
bit = node.render_annotated(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 903, in render_annotated
return self.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 163, in _render
return self.nodelist.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 936, in render
bit = node.render_annotated(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 903, in render_annotated
return self.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 936, in render
bit = node.render_annotated(context)
File "/app/.heroku/python/lib/python3.7/site-packages/django/template/base.py", line 903, in render_annotated
return self.render(context)
File "/app/.heroku/python/lib/python3.7/site-packages/wagtail/images/templatetags/wagtailimages_tags.py", line 107, in render
rendition = get_rendition_or_not_found(image, self.filter)
File "/app/.heroku/python/lib/python3.7/site-packages/wagtail/images/shortcuts.py", line 13, in get_rendition_or_not_found
return image.get_rendition(specs)
File "/app/.heroku/python/lib/python3.7/site-packages/wagtail/images/models.py", line 329, in get_rendition
defaults={'file': File(generated_image.f, name=output_filename)}
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/fields/related_descriptors.py", line 682, in get_or_create
return super(RelatedManager, self.db_manager(db)).get_or_create(**kwargs)
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py", line 562, in get_or_create
return self._create_object_from_params(kwargs, params)
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py", line 596, in _create_object_from_params
obj = self.create(**params)
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py", line 433, in create
obj.save(force_insert=True, using=self.db)
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/base.py", line 749, in save
force_update=force_update, update_fields=update_fields)
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/base.py", line 787, in save_base
force_update, using, update_fields,
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/base.py", line 890, in _save_table
results = self._do_insert(cls._base_manager, using, fields, returning_fields, raw)
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/base.py", line 929, in _do_insert
using=using, raw=raw,
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py", line 1204, in _insert
return query.get_compiler(using=using).execute_sql(returning_fields)
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1393, in execute_sql
for sql, params in self.as_sql():
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1338, in as_sql
for obj in self.query.objs
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1338, in <listcomp>
for obj in self.query.objs
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1337, in <listcomp>
[self.prepare_value(field, self.pre_save_val(field, obj)) for field in fields]
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1288, in pre_save_val
return field.pre_save(obj, add=True)
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/fields/files.py", line 288, in pre_save
file.save(file.name, file.file, save=False)
File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/fields/files.py", line 87, in save
self.name = self.storage.save(name, content, max_length=self.field.max_length)
File "/app/.heroku/python/lib/python3.7/site-packages/django/core/files/storage.py", line 52, in save
return self._save(name, content)
File "/app/.heroku/python/lib/python3.7/site-packages/storages/backends/dropbox.py", line 139, in _save
self.client.files_upload(content.read(), self._full_path(name), mode=WriteMode(self.write_mode))
File "/app/.heroku/python/lib/python3.7/site-packages/stone/backends/python_rsrc/stone_base.py", line 141, in __init__
assert validator is not None, 'Invalid tag %r.' % tag
AssertionError: Invalid tag True.
原因:
在图像面板中查看图像,上传图像等,但只有某些图像,网站加载非常好,这突然停止工作,不知道什么时候。
Dropbox 上肯定存在一些再现,仍有空间,API 密钥肯定有效,其他图像有效,只有一堆最近的不可用:
解决方案
解决了,
原来 django-storages 有一个更新,其中添加了 DROPBOX_WRITE_MODE,或者它的行为改变了,我在 settigns.py 文件中有这一行:
DROPBOX_WRITE_MODE = True
代替:
DROPBOX_WRITE_MODE = "add"
当保管箱存储尝试将任何内容写入保管箱时触发错误,但读取有效
推荐阅读
- compiler-errors - 'malloc' 的多重定义
- python - 烧瓶无法获取远程客户端的真实 IP
- windows - 如何通过 Jenkins 运行 .qvw (qlikview) 文件
- php - 计数while循环,在特定的循环时间内做其他事情并继续while循环
- java - 更新 Gradle 插件版本 3.3 后如何使用 R
- python - 如何使用 forms.ModelForm 保存生物
- automated-tests - TestCafe 与 cucumber 集成 - github项目中的测试用例超时
- android - 无法解决:firebase-database-15.0.0 受影响的模块:app
- maven - 在 CI 构建中突然出现“NoSuchMethodError: org.codehaus.plexus.compiler.CompilerConfiguration.isParameters”
- android - 从android中的自定义零按钮中删除edittext中的前导零