Django将媒体文件发送到不同的AWS S3 Bucket

时间:2016-03-15 16:49:06

标签: django amazon-web-services amazon-s3 django-staticfiles

目前,我在S3 AWS存储桶上提供网站的静态文件。我希望能够将用户上传的文件发送到不同的存储桶。我有这些设置:

settings.py

if AMAZON_S3:
    DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
    AWS_ACCESS_KEY_ID = os.environ['AWSAccessKeyId']
    AWS_SECRET_ACCESS_KEY = os.environ['AWSSecretKey']
    AWS_STORAGE_BUCKET_NAME = os.environ['AWS_STORAGE_BUCKET_NAME']
    S3_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
    STATIC_URL = S3_URL
    STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
    MEDIA_URL = 'http://%s.s3.amazonaws.com/' % "someotherbucket"  #!! Doesn't work

FileField的模型正常工作,但无论如何我会将其粘贴到此处,它看起来像这样:

def send_file(instance, filename):
    date = datetime.today()
    return "/".join([fecha.strftime("%d_%m_%Y"), filename])

class Booking(models.Model):
    ...
    file_a = models.FileField(upload_to=send_file)
    ...

正确提供静态文件,但用户上传的文件仍然会转到静态文件所在的同一个文件夹。我怎么能改变它?

0 个答案:

没有答案
相关问题