Я немного смущен тем, как это должно работать. Как вы будете использовать настройки в коде каждого приложения?
# project1/view.py
import settings
print settings.MEDIA_URL
или
# project1/view.py
from django.conf import settings
print settings.MEDIA_URL
В первом случае это, вероятно, не будет работать, поскольку импортируемые вами настройки - это project1.settings, который сам по себе не имеет атрибута MEDIA_URL
.
Во втором случае разве вы не попадете в состояние гонки? В зависимости от того, какое приложение было загружено последним, оно в последний раз перезаписывает атрибут в глобальном объекте settings
. Это может работать в некоторых случаях, когда вы просто работаете локально и запускаете сервер, а затем сразу переходите к представлению в том или ином приложении, но на долго работающем сервере, таком как Apache, который поддерживает загрузку и запуск нескольких дочерних процессов. - используя их из запроса в запрос, значения в ваших настройках будут непредсказуемыми. Помните, что код в init будет обрабатываться только при первом его импорте ... последующий импорт не приводит к повторному запуску кода.
Может быть, я что-то упустил в вашем описании.
Если у вас есть настройки для конкретного приложения, вам нужно будет иметь свои собственные настройки для конкретного приложения и кодировать свою логику, чтобы использовать их соответствующим образом.