I have a Django project with multiple applications (say, two), and both need different versions of *MEDIA_ROOT* and *MEDIA_URL*.
The documentation does specify how to modify a specific setting, but here is what I did.
I created a project1/settings.py,
# project1/settings.py,
from django.conf import settings
settings.MEDIA_URL = 'foo'
settings.MEDIA_ROOT = 'bar'
Then I modified the init module of that application to only load the module:
# project1/__init__.py
import settings
It works! The specialized settings file happily overwrites the global one, selectively. What I like about this is that the project settings file is in a logical location.
My question is - does this approach have any caveats, and what is the best practices way to achieve this?