Я подчиняюсь структуре проекта as laid out by Zachary Voase, но я борюсь с одной конкретной проблемой.Отдельная переменная пользовательских настроек между разработкой, постановкой и производством
Мне очень хотелось бы иметь настраиваемую логическую переменную (назовем ее SEND_LIVE_MAIL), которую я буду использовать в проекте. В принципе, я бы хотел использовать эту переменную настроек в своем коде, и если SEND_LIVE_MAIL True, действительно отправляйте почту, тогда как когда она установлена в False, просто распечатайте ее содержимое на консоль. Последнее применимо к среде dev и при запуске unittests.
Что было бы хорошим способом реализации этого? В настоящее время, в зависимости от среды, сервер django использует настройки dev, staging или prd, но для переменных пользовательских настроек я считаю, что их нужно импортировать «буквально». Другими словами, я бы использовал в своих взглядах что-то вроде
from settings.development import SEND_LIVE_MAIL
который, конечно же, не является тем, что я хочу. Я хотел бы быть в состоянии сделать что-то вроде:
from settings import SEND_LIVE_MAIL
и в зависимости от окружающей среды, правильное значение присваивается переменной SEND_LIVE_MAIL.
Заранее благодарен!
Это будет чередовать его текущий способ реализации настроек. На самом деле, это не решение проблемы, поскольку его проект в настоящее время настроен. Даже тогда, однако, не рекомендуется импортировать настройки из фактического файла settings.py. Django показывает, что фактические настройки будут использоваться в 'django.conf.settings', поэтому нет причин делать что-то особенное. –