2013-10-07 3 views
0

Пожалуйста, перезвоните, если есть другие методы, но те, которые я вижу чаще всего, эти два, и оба они существуют в источнике django.Каков предпочтительный метод доступа к данным настроек в Django?

if settings.DEBUG:

и

if hasattr(settings, 'POSTGIS_VERSION'):

Поздний имеет то преимущество, что по умолчанию, но в тех случаях, когда по умолчанию будет ошибка (что-то не хватает) это лучше использовать первый версия? Каково правило по умолчанию, когда вы должны поместить его в файл settings.py и когда вы должны включить его непосредственно в источник, как указано выше?

ответ

2

При доступе к настройке, определенной вашим приложением в настройках по умолчанию, я предлагаю if settings.name: - по умолчанию вы уже определились. С другой стороны, при написании внешнего приложения - я предлагаю if hasattr(settings, 'name'): - вы не можете ожидать, что ваши приложения будут определять все значения по умолчанию.

0

Изменить первый ответ. Довольно надежный и читаемый способ получить что-то от Джанго:

variable = getattr(settings, 'MY_SETTING', None) 

Теперь переменная равна некоторые настройки или None, если бы не было такой настройки на всех.

Смежные вопросы