+1 porque é uma questão muito interessante para quem é novo no desenvolvimento de Django.
Respostas:
134
import settings
Importará o módulo de configurações (.py) do seu projeto Django (se você estiver escrevendo este código do pacote "root" do seu aplicativo, é claro)
from django.conf import settings
Importará o objeto de configurações do pacote django.conf (arquivos fornecidos pelo Django). Isso é importante porque
[..] note que seu código não deve importar de global_settings ou de seu próprio arquivo de configurações. django.conf.settings abstrai os conceitos de configurações padrão e configurações específicas do site; apresenta uma interface única. Ele também separa o código que usa configurações do local de suas configurações.
FYI, global_settings é outro módulo dentro do pacote django.conf. Como diz a documentação, não o use.
3
Observe que o uso from django.conf import settingsé crítico se você deseja substituir as configurações durante o teste de unidade também.
Joris
4
Observe também que todos os nomes de configurações devem estar em maiúsculas . Ou seja, se o seu tem uma var my_varem suas configurações então este irá falhar: from django.conf import settings... settings.my_var. Mas se você der um nome MY_VAR, terá sucesso!
Respostas:
Importará o módulo de configurações (.py) do seu projeto Django (se você estiver escrevendo este código do pacote "root" do seu aplicativo, é claro)
Importará o objeto de configurações do pacote django.conf (arquivos fornecidos pelo Django). Isso é importante porque
ATUALIZAÇÃO: se você deseja definir algumas configurações próprias, consulte esta parte da documentação
fonte
from django.conf import settings
é crítico se você deseja substituir as configurações durante o teste de unidade também.my_var
em suas configurações então este irá falhar:from django.conf import settings
...settings.my_var
. Mas se você der um nomeMY_VAR
, terá sucesso!