以下是django-boto
# S3 configuration
AWS_ACCESS_KEY_ID = os.environ.get("AWSAccessKeyId")
AWS_SECRET_ACCESS_KEY = os.environ.get("AWSSecretKey")
AWS_STORAGE_BUCKET_NAME = os.environ.get("S3BucketName")
S3DIRECT_REGION = os.environ.get("S3Region")
# S3 configuration for boto
BOTO_S3_BUCKET = os.environ.get("S3BucketName")
BOTO_BUCKET_LOCATION = os.environ.get("S3Region")
# AWS_S3_FORCE_HTTP_URL = True
# AWS_QUERYSTRING_AUTH = False
AWS_S3_HOST = 's3.ap-south-1.amazonaws.com'
我正在定义模型如下
from django_boto.s3.storage import S3Storage
s3 = S3Storage()
class userProfileModel(models.Model):
"""User profile model. """
user = models.OneToOneField(User, on_delete=models.CASCADE,related_name='profile')
profile_pic = models.ImageField(storage=s3,null=True,blank=True)
我一直收到400响应代码而没有来自s3的任何错误。我能找到的唯一例外是
head_bucket,第556行中的env / lib / python2.7 / site-packages / boto / s3 / connection.py
同样,我也使用django-s3direct
具有相同的凭据,并且工作正常,没有任何问题。我在哪里错了?
答案 0 :(得分:0)
您在设置中指定的访问密钥的用户是否可能实际上没有上传到S3存储桶的权限?要检查这一点,请检查S3存储桶策略。
环境变量是否实际设置并正确设置?要检查此问题,请在设置文件中print
进行检查。