gpt4 book ai didi

django-storages 和 amazon s3 - 可疑操作

转载 作者:行者123 更新时间:2023-12-03 05:09:00 27 4
gpt4 key购买 nike

我正在将 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'

请注意 https: 后面的单个 /

有人知道为什么会出现这个吗?这种情况并不总是发生。在其他情况下我可以成功地做到这一点。

最佳答案

_normalize_name 对带有 URL 的 Django 内容做了很多花哨且大部分不必要的操作。就我而言,我只是像这样重写 S3BotoStorage :

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'

关于django-storages 和 amazon s3 - 可疑操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12535123/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com