Jaka jest podstawowa różnica między poniższymi instrukcjami importu w aplikacji Django?Django - Różnica między importem django.conf.settings a ustawieniami importu
import settings
i
from django.conf import settings
Jaka jest podstawowa różnica między poniższymi instrukcjami importu w aplikacji Django?Django - Różnica między importem django.conf.settings a ustawieniami importu
import settings
i
from django.conf import settings
import settings
zaimportuje ustawienia (.py) moduł projektu Django (jeśli piszesz kod z "root" pakietu aplikacji, oczywiście)
from django.conf import settings
zaimportuje ustawienia obiekt z pakietu django.conf (pro Django vided pliki). This is important, ponieważ
[..] Należy pamiętać, że kod nie powinien być importowany z pliku global_settings lub z własnego pliku ustawień. django.conf.settings usuwa koncepcje ustawień domyślnych i ustawień specyficznych dla witryny; przedstawia pojedynczy interfejs. Oddziela także kod, który używa ustawień z lokalizacji ustawień.
UPDATE: jeśli chcesz zdefiniować kilka własnych ustawień, patrz this part of the documentation
FYI, global_settings to kolejny moduł w pakiecie django.conf. Jak mówi dokumentacja, nie używaj go. – dgraziotin
Należy pamiętać, że używanie '' 'from django.conf import settings''' jest krytyczne, jeśli chcesz mieć możliwość nadpisywania ustawień również podczas testowania jednostkowego. – Joris
Należy również pamiętać, że wszystkie nazwy ustawień ** powinny być dużymi literami **. Oznacza to, że jeśli masz zmienne 'my_var' w twoich ustawieniach, to się nie powiedzie:' from django.conf import settings' ... 'settings.my_var'. Ale jeśli nazwiesz to "MY_VAR", to się uda! –
+1, ponieważ jest to bardzo interesujące pytania dla kogo jest nowy rozwój Django. – dgraziotin