Can I make STATICFILES_DIR same as STATIC_ROOT in Django 1.3?

WoooHaaaa picture WoooHaaaa · Aug 28, 2012 · Viewed 34k times · Source

I'm using Django 1.3 and I realize it has a collectstatic command to collect static files into STATIC_ROOT. Here I have some other global files that need to be served using STATICFILES_DIR.

Can I make them use the same dir ?

Thanks.

Answer

Simeon Visser picture Simeon Visser · Aug 28, 2012

No. In fact, the file django/contrib/staticfiles/finders.py even checks for this and raises an ImproperlyConfigured exception when you do so:

"The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting"

The STATICFILES_DIRS can contain other directories (not necessarily app directories) with static files and these static files will be collected into your STATIC_ROOT when you run collectstatic. These static files will then be served by your web server and they will be served from your STATIC_ROOT.

If you have files currently in your STATIC_ROOT that you wish to serve then you need to move these to a different directory and put that other directory in STATICFILES_DIRS. Your STATIC_ROOT directory should be empty and all static files should be collected into that directory (i.e., it should not already contain static files).