python - Django/Wagtail 一些图片上传错误500

标签 python django python-imaging-library wagtail

我正在使用 Wagtail (Django 变体 CMS)在 virtualenv 中,在 FastCGI + Apache + 共享主机上。

当通过内置的 Wagtail Image Uploader 上传图片时,某些图片可以正常工作并正确编译,而某些上传会导致 500 Internal Server Error。

已尝试在导致错误但无法发现任何相似之处的图像类型中寻找模式。

我可以上传各种 JPG、GIF、PNG、 大小从 88KB 到 236KB 不等, 最大尺寸为 1000px x 950px

images uploaded

导致错误的文件还有各种 JPG、GIF、PNG。我无法上传任何大于 300KB 的文件,尽管一些只有 100KB 或更小的文件也会导致 500 错误。 通过 django-admin 上传会导致同样的问题。

当我通过 sftp 和 cpanel 上传时,图像可以正常工作,所以没有问题。

Wagtail 使用 Pillow 进行图像处理。

我不确定从哪里开始寻找这个。是 Pillow 还是 Django 错误?

最佳答案

我怀疑您的 Web 服务器对请求大小设置了限制 - 我们在 nginx 上部署时遇到过类似的事情,它对开箱即用的请求施加了 1 Mb 的限制。 (对于 nginx,相关设置是 client_max_body_size。)如果您看到的是普通的 500 Internal Server Error 页面而不是 Django 错误,这确实表明错误发生在 Web 服务器级别而不是比在 Django 中...如果您检查 Web 服务器的错误日志,您将有望获得信息更丰富的错误消息。

您可以尝试的一个简单检查是在 Wagtail 的“文档”区域上传相同的文件——这不会对文件进行任何类型的处理(它只存储它们),所以如果上传仍然失败,这消除了 Pillow 的可能性。

关于python - Django/Wagtail 一些图片上传错误500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22896509/

相关文章:

python - 无法导入 Pygame

python - 在 Django 中获取当前日期(和时间)

python - 我可以向用户询问一个号码,然后将对应号码的图像粘贴到空白图像中吗?

python - 操作图像中的 RGB 值

python - 补充/否定python中的 bool 字符串

Python 键错误 : '\n'

python - 如何在 Python 中将正则表达式子模式与命名组一起使用?

Django-rest-auth:找不到 'password_reset_confirm' 的反转。 'password_reset_confirm' 不是有效的 View 函数或模式名称

Django:用户 session 过期后找不到页面

python 图像识别