Application Media — Static Media Manager v0.4 documentation

Static Media Manager v0.4 documentation

# Application Media

- Table of Contents
- index
  modules
  next
  previous

# Application Media

There are two ways to handle application media: manual and automatic.

## Manual Copying

The manual method is where you add an entry for each application in STATIC_MEDIA_COPY_PATHS.

    STATIC_MEDIA_COPY_PATHS = (
        {'from': settings.MEDIA_ROOT, 'to': '/mnt/mediaserver/media/'},
        {'from': 'apps/coolapp/media/', 'to': '/mnt/mediaserver/media/'},
    )

This gives you some control over where each application’s media files are stored.

Note

If the application’s media files are not in a directory named `media`, then this is the only way you can copy the application’s media files.

## Automatic Copying

The automatic copying of application media consists of searching for a directory named `media` in each installed application, with the exception of django contrib applications, and copying the contents to STATIC_MEDIA_APP_MEDIA_PATH.

### Overriding Application Media Files

Sometimes you might want to replace one or more of an existing application’s media files with one of your own. This is easy to do. Simply put the file(s) in the `MEDIA_ROOT` directory with the same relative path as the application’s media.

For example, if an application had a structure

    coolapp/
      admin.py
      media/
        coolapp/
          css/
            base.css
            forms.css
          img/
            logo.png
      models.py
      templates/
      urls.py

You would override the `base.css` file by putting your file

    media/
      css/
      img/
      js/
      coolapp/
        css/
          base.css

During the copying process, your existing file(s) will not be overwritten.

By default, automatic copying is turned on. The STATIC_MEDIA_APP_MEDIA_PATH setting is `MEDIA_ROOT`. Turn off automatic copying by setting STATIC_MEDIA_APP_MEDIA_PATH to `None`.