Estou lendo que a maioria das pessoas faz, from django.conf import settingsmas não entendo a diferença de simplesmente fazer import settingsem um arquivo de projeto django. Alguém pode explicar a diferença?
Estou lendo que a maioria das pessoas faz, from django.conf import settingsmas não entendo a diferença de simplesmente fazer import settingsem um arquivo de projeto django. Alguém pode explicar a diferença?
Respostas:
import settingsirá importar o primeiro módulo python chamado settings.pyencontrado sys.path, geralmente (nas configurações padrão do django). Ele permite acesso apenas ao arquivo de configurações definidas pelo site, que sobrescreve as configurações padrão do django ( django.conf.global_settings).
Então, se você tentar acessar uma configuração válida do django não especificada no seu arquivo de configurações, você obterá um erro.
django.conf.settingsnão é um arquivo, mas uma classe que faz uma abstração dos conceitos, configurações padrão e configurações específicas do seu site. Django também faz outras verificações quando você usa from django.conf import settings.
Você também pode encontrá-lo nos documentos do django .
Espero que isto ajude.
import settingsimportará o primeiro módulo python chamado settings.pyencontrado em sys.path. Este pode não ser o "arquivo de configurações definidas pelo site", que é pesquisado na variável de ambiente "DJANGO_SETTINGS_MODULE" e pode ser apenas qualquer pacote ou módulo Python.