How to set-up a Django project with django-storages and Amazon S3, but with different folders for static files and media files?
|April 30, 2012||Posted by forumadmin under TechQns||
I’m configuring a Django project that were using the server filesystem for storing the apps static files (
STATIC_ROOT) and user uploaded files (
I need now to host all that content on Amazon’s S3, so I have created a bucket for this. Using
django-storages with the
boto storage backend, I managed to upload collected statics to the S3 bucket:
MEDIA_ROOT = '/media/' STATIC_ROOT = '/static/' DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' AWS_ACCESS_KEY_ID = 'KEY_ID...' AWS_SECRET_ACCESS_KEY = 'ACCESS_KEY...' AWS_STORAGE_BUCKET_NAME = 'bucket-name' STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
Then, I got a problem: the
STATIC_ROOT are not used within the bucket, so the bucket root contains both the static files and user uploaded paths.
So then I could set:
S3_URL = 'http://s3.amazonaws.com/%s' % AWS_STORAGE_BUCKET_NAME STATIC_URL = S3_URL + STATIC_ROOT MEDIA_URL = 'S3_URL + MEDIA_ROOT
And use those settings in the templates, but there is no distinction of static/media files when storing in S3 with
How this can be done?
|Asked By – Mandx||Read Answers|