我正在尝试在电子邮件中附加保存在S3存储桶中的媒体文件,使用以下代码行:
email.attach_file(standard.download.url)
该模型定义如下:
class Standard(models.Model):
name = models.CharField(max_length = 51)
download = models.FileField(upload_to="standard_downloads/", null=True, blank=True)
def __str__(self):
return self.name
在 settings.py
文件中,我定义了我的媒体文件如下:
AWS_DEFAULT_ACL = 'public-read'
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
AWS_S3_OBJECT_PARAMETERS = {
'CacheControl': 'max-age=86400',
}
DEFAULT_FILE_STORAGE = 'sme.storage_backends.MediaStorage'
MEDIA_ROOT = 'https://%s.s3.amazonaws.com/media/' % AWS_STORAGE_BUCKET_NAME
运行代码时出现以下错误:
没有此文件或目录: 'https:/bucket-name.s3.amazonaws.com/media/standard_downloads/filename.ext'
请注意,它显示为 https:/
(只有一个 /)。我应该如何进行更正?