+1, ponieważ jest to bardzo interesujące pytanie dla tego, kto jest nowy w rozwoju Django.
Odpowiedzi:
134
import settings
Zaimportuje moduł ustawień (.py) twojego projektu Django (jeśli piszesz ten kod z pakietu "root" aplikacji, oczywiście)
from django.conf import settings
Zaimportuje obiekt ustawień z pakietu django.conf (pliki dostarczone przez Django). To ważne , ponieważ
[..] zwróć uwagę, że Twój kod nie powinien być importowany ani z global_settings, ani z własnego pliku ustawień. django.conf.settings wyodrębnia pojęcia dotyczące ustawień domyślnych i ustawień specyficznych dla witryny; przedstawia pojedynczy interfejs. Oddziela również kod, który używa ustawień, od lokalizacji ustawień.
FYI, global_settings to kolejny moduł w pakiecie django.conf. Jak mówi dokumentacja, nie używaj go.
3
Zauważ, że używanie from django.conf import settingsjest krytyczne, jeśli chcesz mieć możliwość nadpisywania ustawień również podczas testów jednostkowych.
Joris
4
Należy również pamiętać, że wszystkie nazwy ustawień powinny być pisane wielkimi literami . Oznacza to, że jeśli masz var my_varw ustawieniach wtedy to zawiedzie: from django.conf import settings... settings.my_var. Ale jeśli MY_VARto nazwiesz, odniesie sukces!
Odpowiedzi:
Zaimportuje moduł ustawień (.py) twojego projektu Django (jeśli piszesz ten kod z pakietu "root" aplikacji, oczywiście)
Zaimportuje obiekt ustawień z pakietu django.conf (pliki dostarczone przez Django). To ważne , ponieważ
UPDATE: jeśli chcesz zdefiniować własne ustawienia, zajrzyj do tej części dokumentacji
źródło
from django.conf import settings
jest krytyczne, jeśli chcesz mieć możliwość nadpisywania ustawień również podczas testów jednostkowych.my_var
w ustawieniach wtedy to zawiedzie:from django.conf import settings
...settings.my_var
. Ale jeśliMY_VAR
to nazwiesz, odniesie sukces!