Estou lendo que a maioria das pessoas faz, from django.conf import settings
mas não entendo a diferença de simplesmente fazer import settings
em um arquivo de projeto django. Alguém pode explicar a diferença?
Estou lendo que a maioria das pessoas faz, from django.conf import settings
mas não entendo a diferença de simplesmente fazer import settings
em um arquivo de projeto django. Alguém pode explicar a diferença?
Respostas:
import settings
irá importar o primeiro módulo python chamado settings.py
encontrado 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.settings
nã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 settings
importará o primeiro módulo python chamado settings.py
encontrado 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.