Django - Как совместно использовать константы конфигурации в рамках приложения?

Иногда выгодно совместно использовать определенные константы между различными файлами кода в django приложении.

Примеры:
- Имя или местоположение файла дампа, используемого в различном modules\commands и т.д.
- Режим отладки on\off для целого приложения
- Сайт определенная конфигурация

Каков был бы elegant\pythonic способ сделать это?

5
задан Jonathan 14 July 2010 в 08:45
поделиться

4 ответа

вы можете указать настройки в своем settings.py, например

MY_SETTING = 'value'

, и в любом модуле вы можете получить их, например,

from django.conf import settings
settings.MY_SETTING
6
ответ дан 18 December 2019 в 16:34
поделиться

Уже существует файл settings.py для всего проекта. Это идеальное место для размещения ваших собственных настроек.

6
ответ дан 18 December 2019 в 16:34
поделиться

Создайте модуль конфигурации.

Configuration.py:

MYCONST1 = 1
MYCONST2 = "rabbit"

Импортируйте его из других исходных файлов:

from Configuration import MYCONST1,MYCONST2
...
0
ответ дан 18 December 2019 в 16:34
поделиться

Приложения Django должны быть (более или менее) подключаемыми . Следовательно, вы не должны взламывать код приложения, чтобы параметризовать то, что вы хотите (это было бы довольно беспорядочно, если бы вам пришлось это сделать! Представьте, что вы хотите обновить приложение, которое вы скачали из Интернета ... вы пришлось бы заново взламывать код новой версии?!?).

По этой причине вам не следует добавлять настройки уровня приложения на уровне приложения, а лучше объединить их где-нибудь в вашем проекте settings.py .

0
ответ дан 18 December 2019 в 16:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: