我正在将 django-storages 与 Amazon S3 结合使用。我间歇性地看到以下错误:
name = self._normalize_name(self._clean_name(name))\n\n File \"/app/.heroku/venv/lib/python2.7/site-packages/storages/backends/s3boto.py\", line 237, in _normalize_name\n name)\n\nSuspiciousOperation: Attempted access to 'https:/plantvillage.s3.amazonaws.com/avatar/hans9_avatar.jpg'
注意单/
after https:
.
有谁知道为什么会出现这个?这种情况并不总是发生。在其他情况下我可以成功地做到这一点。
_规范化_名称使用 URL 在 Django 上做了很多花哨且大多不必要的事情。就我而言,我只是覆盖S3Boto存储像这样:
class S3CustomStorage(S3BotoStorage):
def _normalize_name(self, name):
"""
Get rid of this crap: http://stackoverflow.com/questions/12535123/django-storages-and-amazon-s3-suspiciousoperation
"""
return name
然后在存储属性中使用它:
ImageField(storage=S3CustomStorage())
它适用于具有以下基本配置的 django simple ImageField:
AWS_ACCESS_KEY_ID = 'TTTT'
AWS_SECRET_ACCESS_KEY = 'XXXX'
AWS_STORAGE_BUCKET_NAME = 'ZZZZ'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)