django - settings.py, кажется, загружается несколько раз?

РЕДАКТИРОВАТЬ Я пропустил - он распечатывается дважды, а не четыре раза.

Я положил это в моемsettings.py

print 'ola!'

и при запуске & quot; ola & quot; распечатанtwice! Кажется, что-то не так с моим проектом Pycharm Django ... есть идеи, почему это произойдет? Это не в цикле или что-нибудь (о чем я все равно знаю)

ура!

YAY Пользователь, известный только как «rohit», согласно комментариям, определил, что решение можно найти здесь:https://stackoverflow.com/a/2110584/1061426 ~ см. комментарий об отключении перезагрузки.

CAUTION У меня нет и не работает мой код Django, поэтому я не знаю, что будет делать noload. Удачи, солдаты.

 rohit04 нояб. 2014 г., 20:39
Нашел ответ здесь:stackoverflow.com/questions/2110545/…

Ответы на вопрос(4)

Решение Вопроса

Если вы распечатаете идентификатор потока в файле settings.py, вы увидите, что файл settings.py фактически загружается в двух разных потоках.

Увидетьэтот ответ стекопотока а такжеЭта статья для получения дополнительной информации.

На самом деле Django делает обертку вокруг настроек. В основном это объект (объект настроек, если вы хотите), который дает вам доступ к некоторым прямым установщикам, таким какsettings.WHATEVER, так что похоже, что вы обращаетесь к глобальным переменным в settings.py direclty.

Я действительно не помню, почему импорт происходит дважды. Я смотрел на это один раз, когда я работал надДжанго-динамическая-настройка который использует очень похожий подход, как сам Django. В любом случае, если вы заинтересованы в "магии" Вы можете следить за потоком, начиная сexecute_from_command_line вызыватьmanage.py.

Django делает некоторые странные вещи с settings.py, и он будет выполняться несколько раз. Я привык видеть его импортированным дважды, но не уверен, почему в PyCharm вы получаете четыре раза. Вы должны быть осторожны с заявлениями с побочными эффектами в settings.py.

 bharal22 июн. 2012 г., 05:26
извините, я ошибся - вы правы, он появляется дважды

По крайней мере, был задан тесно связанный вопросдважды с, Я могу добавить, что разработчик ядра Djangoотвергнуто идея, что это какая-то ошибка в Django; это нормальное поведение.

Также смэтот от Грэма Дамплтона.

Ваш ответ на вопрос