, но в общем случае представляется целесообразным включать все файлы с "
blockquote>git add .
", за исключением некоторых файлов, упомянутых в.gitignore
. Что я обычно делаю при наборе [ 113] следует с
git status
.Если я вижу, что добавлено слишком много файлов (потому что мои
.gitignore
были недостаточно точными), я перезагружаюсь, изменяю.gitignore
, снова добавляю и снова контролирую со статусом git.git reset # edit .gitgignore git add . git status
Как только статус удовлетворительный, я обязуюсь.
Существует страница Wiki Django, которая обращается точно к вещи, которую Вы спрашиваете. http://code.djangoproject.com/wiki/SplitSettings
Не изобретать велосипед. Используйте configparser и файлы INI. Файлы Python к легкому для повреждения кем-то, кто не знает Python.
Ваша эвристика хороша. Правила сделаны так, чтобы границы были установлены и только повреждены, когда это - очевидно, значительно лучшее решение, чем альтернатива.
Однако, я не могу не задаться вопросом, что код проверки сайта должен быть в синтаксическом анализаторе, и дополнительный элемент конфигурации добавил, что выбирает, какой вариант должен быть выбран.
Я не думаю, что в этом случае альтернатива так плоха, что нарушение правил имеет смысл...
- Adam
Я думаю, что это - боль по сравнению с аргументом удовольствия.
Не неправильно поместить код в файл конфигурации Python, потому что это - весь действительный Python, но это действительно означает, что Вы могли смутить пользователя, который входит для реконфигурирования приложения. Если Вы - то, который волновал по поводу этого, веревка это прочь с комментариями, объясняющими примерно, что это делает и что пользователь не должен редактировать его, скорее редактировать settings_overrides.py файл.
Что касается Вашего примера, это находится почти на основе для разработчиков для тестирования, затем развертывают их приложения. Определенно больше удовольствия, чем боль. Но необходимо действительно сделать это вместо этого:
LOCALIZED = False
try:
from settings_overrides import *
except ImportError:
pass
И в Вашем settings_overrides.py файле:
LOCALIZED = True
... Если только прояснить, что делает тот файл.. Что Вы делаете там переопределения разделений в два места.
Настройки как код являются также угрозой безопасности. Вы импортируете свою "конфигурацию", но в действительности Вы выполняете любой код, находится в том файле. Поместите конфигурацию в файлы, которые Вы анализируете сначала, и можно отклонить бессмысленные или злонамеренные значения, даже если это - больше работы для Вас. Я вел блог об этом в декабре 2008.
Как общая практика, см. другие ответы на странице; все это зависит. Специально для Django, однако, я ничего не вижу существенно неправильно с написанием кода в settings.py файле..., в конце концов, файл настроек ЯВЛЯЕТСЯ кодом :-)
В документах Django о самих настройках говорится:
Файл настроек является просто модулем Python с переменными уровня модуля.
И дайте пример:
assign settings dynamically using normal Python syntax. For example:
MY_SETTING = [str(i) for i in range(30)]