skip to navigation
skip to content

Not Logged In

django-s3-folder-storage 0.2

Quick extension of django-storages' S3BotoStorage to allow separate folders for uploaded and static media within an S3 bucket.

Package Documentation


[![Latest PyPI version](](
[![Number of PyPI downloads](](
[![Build Status](](

Quick extension of django-storages' [S3BotoStorage]( to allow separate folders for uploaded and static media within an S3 bucket.


Many of my sites use the same configuration: **static** files are stored in `//<bucket_name>/static/` and **uploaded** files are stored somewhere under `//<bucket_name>/media/`. Instead of extending S3BotoStorage in every project I decided to build a package. The names of those folders are configurable in ``.


Use `pip` to install from PyPI:

        pip install django-s3-folder-storage

Add `s3_folder_storage` to your file:

        INSTALLED_APPS = (


You are essentially using `django-storages` for S3 hosting, so you will be using their settings. The two settings that are specific to `django-s3-folder-storage` are `DEFAULT_S3_PATH` and `STATIC_S3_PATH`.

Here's an example:

        DEFAULT_FILE_STORAGE = 's3_folder_storage.s3.DefaultStorage'
        DEFAULT_S3_PATH = "media"
        STATICFILES_STORAGE = 's3_folder_storage.s3.StaticStorage'
        STATIC_S3_PATH = "static"
        AWS_ACCESS_KEY_ID = {{ your key id here }}
        AWS_SECRET_ACCESS_KEY = {{ your secret key here }}
        AWS_STORAGE_BUCKET_NAME = {{ your bucket name here }}

        MEDIA_ROOT = '/%s/' % DEFAULT_S3_PATH
        STATIC_ROOT = "/%s/" % STATIC_S3_PATH
        ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'


Depending on how you have your buckets configured and if you want to use SSL,
you may need to use something like the following:


As a first step, I recommend trying to get the `collectstatic` management
command working within your project:

        python collectstatic

You can also run the tests:

        python test s3_folder_storage

to confirm that files are being written to S3


Think this needs something else? To contribute to `django-s3-folder-storage` create a fork on github. Clone your fork, make some changes, and submit a pull request.

Bugs are great contributions too! Feel free to add an issue on github.
File Type Py Version Uploaded on Size
django-s3-folder-storage-0.2.tar.gz (md5) Source 2013-11-25 4KB
  • Downloads (All Versions):
  • 83 downloads in the last day
  • 357 downloads in the last week
  • 1685 downloads in the last month