Django - Разница между импортом django.conf.settings и настройками импорта

86

В чем основное отличие между следующими операциями импорта в приложении Django?

import settings

и

from django.conf import settings
  • 1
    +1, потому что это очень интересные вопросы для тех, кто новичок в разработке Django.
Теги:

1 ответ

120
Лучший ответ
import settings

Будет импортирован модуль настроек (.py) вашего проекта Django (если вы, конечно, пишете этот код из корневого пакета вашего приложения)

from django.conf import settings

Будет импортирован параметр объект из пакета django.conf(предоставленные Django файлы). Это важно, потому что

[..] обратите внимание, что ваш код не должен импортироваться ни из global_settings, ни из вашего собственного файла настроек. django.conf.settings абстрагирует понятия настроек по умолчанию и настроек сайта; он представляет собой один интерфейс. Он также отделяет код, который использует настройки из местоположения ваших настроек.

UPDATE: если вы хотите определить некоторые собственные настройки, см. эту часть документации

  • 4
    К вашему сведению, global_settings - это еще один модуль в пакете django.conf. Как говорится в документации, не используйте его.
  • 3
    Обратите внимание, что использование from django.conf import settings имеет решающее значение, если вы хотите иметь возможность перезаписывать настройки и во время модульного тестирования.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню