Skip to main content

A Django app that provides helpers for serving static files.

Project description

This is a Django app that provides helpers for serving static files.

The main website for django-staticfiles is bitbucket.org/jezdez/django-staticfiles where you can also file tickets.

You can also install the in-development version of django-staticfiles with pip install django-staticfiles==dev or easy_install django-staticfiles==dev.

Helpers

build_media management command

The build_media script collects the media files from all installed apps and arranges them under the STATIC_ROOT folder:

$ python manage.py build_media --all

Alternatively you can pass a list of apps to the command:

$ python manage.py build_media admin polls

In case you have two apps with the same file name and relative path you should use the --interactive option of build_media which will prompt you to choose which one to use. This is useful if you want to overwrite default media files with your custom app, for example. Remember to remove the STATIC_ROOT folder before you use this option or the script will prompt you for each file.

Please also refer to the help of the build_media management command by running:

$ python manage.py build_media --help

resolve_media management command

To quickly resolve the full file path of a media file on the filesystem, you can pass its expected URL path(s) to the resolve_media management command, e.g.:

$ python manage.py resolve_media css/base.css
Resolving css/polls.css:
    /home/polls.com/polls/media/css/polls.css

If multiple locations are found that match the given path it will list all of them, sorted by its importance.

Serving static files during development

staticfiles provides the static file serving view staticfiles.views.serve to handle the app media, media files defined with the STATICFILES_DIRS setting and other media files found in the MEDIA_ROOT directory. Make sure your projects’ urls.py contains the following snippet below the rest of the url configuration:

from django.conf import settings
if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^site_media/', include('staticfiles.urls')),
    )

Setting

STATIC_ROOT

Default:

'' (Empty string)

The absolute path to the directory that holds static files like app media:

STATIC_ROOT = "/home/polls.com/polls/site_media/static/"

STATIC_URL

Default:

'' (Empty string)

URL that handles the files served from STATIC_ROOT, e.g.:

STATIC_URL = '/site_media/static/'

Note that this should have a trailing slash if it has a path component.

Good: “http://www.example.com/static/” Bad: “http://www.example.com/static

STATICFILES_DIRS

Default:

[]

This setting defines the additional locations the staticfiles app will traverse when looking for media files, e.g. if you use the build_media or resolve_media management command or use the static file serving view.

It should be defined as a sequence of (label, path) tuples, e.g.:

STATICFILES_DIRS = (
    ('special_polls', '/home/special.polls.com/polls/media'),
    ('polls', '/home/polls.com/polls/media'),
)

STATICFILES_PREPEND_LABEL_APPS

Default:

('django.contrib.admin',)

A sequence of app paths that have the media files in <app>/media, not in <app>/media/<app>, e.g. django.contrib.admin.

STATICFILES_MEDIA_DIRNAMES

Default:

('media',)

A sequence of directory names to be used when searching for media files in installed apps, e.g. if an app has its media files in <app>/static use:

STATICFILES_MEDIA_DIRNAMES = (
    'media',
    'static',
)

STATICFILES_EXCLUDED_APPS

Default:

[]

A sequence of app paths that should be ignored when searching for media files:

STATICFILES_EXCLUDED_APPS = (
    'annoying.app',
    'old.company.app',
)

Changelog:

v0.1.2 (2009-09-02):

  • Fixed a typo in settings.py

  • Fixed a conflict in build_media between handling non-namespaced app media and other files with the same relative path.

v0.1.1 (2009-09-02):

  • Added README with a bit of documentation :)

v0.1.0 (2009-09-02):

  • Initial checkin from Pinax’ source.

  • Will create the STATIC_ROOT directory if not existent.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-staticfiles-0.1.2.tar.gz (12.9 kB view details)

Uploaded Source

File details

Details for the file django-staticfiles-0.1.2.tar.gz.

File metadata

File hashes

Hashes for django-staticfiles-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5b05ad0c0b1ca73c27e3d698391e788a2d79d0f20d57751de1f2acb4665b2060
MD5 d9edfa461d0aff802e335bc84dd4f682
BLAKE2b-256 8c93eebf3c6e65619e43253c189c8ae105ca5d54c899b65cc01cadc18df3771f

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page