我正在閱讀大多數人的文章from django.conf import settings
,但我沒有承擔差異,只是在django項目中做import settings
文件。任何人都可以解釋這個區別嗎Django項目中`from django.conf import settings`和`import settings`之間的區別
回答
import settings
將導入在sys.path
中找到的第一個python模塊,名稱爲settings.py
,通常(在默認的django設置中)。它只允許訪問您的站點定義的設置文件,它會覆蓋django的默認設置(django.conf.global_settings
)。
因此,如果您嘗試訪問您的設置文件中未指定的有效django設置,您將會收到錯誤消息。
django.conf.settings
不是一個文件,而是一個抽象的概念,默認設置和您的網站特定設置的類。當您使用from django.conf import settings
時,Django還會執行其他檢查。
你也可以在django docs找到它。
希望這會有所幫助。
'導入設置'會導入在'sys.path'中找到的名爲'settings.py'的第一個python模塊。這可能不是「站點定義的設置文件」,它在環境變量「DJANGO_SETTINGS_MODULE」中查找,可以是任何python包或模塊。 –
@brunodesthuilliers謝謝你。我更新我的答案,並注意到你的改正。 – juliocesar
from django.conf import settings
是更好的選擇。
我對同一個django項目(一個用於「live」,一個用於「dev」)使用不同的設置文件,第一個將選擇正在執行的項目。
s /第一個更好/第一個是唯一正確的/ –
- 1. 如何解釋「import my_module」和「from my_module import my_str」之間的區別?
- 2. `import module`和`from package import module`之間的區別
- 3. @import和CSS之間的區別
- 4. ReactJS中的import createStore和import {createStore}之間的區別
- 5. `from x import y` vs.`from x.y import *`
- 6. Python:「import X」和「from X import *」有什麼區別?
- 7. 「import dateutil.parser」和「from dateutil.parser import parse」有什麼區別?
- 8. `從abc import a,b`和`from abc import(a,b)`有沒有區別?
- 9. 「from package import *」和「import package」之間的性能
- 10. from pyspark.sql.types import Row和from pyspark.sql import行
- 11. `import {history}`和`import history`有什麼區別?
- 12. 「from。import views」:Unresolved import
- 13. import numpy和import math有什麼區別
- 14. Django中的settings namespace
- 15. from scipy.interpolate import interp1d掛起django
- 16. ConfigurationManager類和Settings類有什麼區別?
- 17. import modx與modx import *有什麼區別?
- 18. 瞭解beavhiour之間的更改:import modname - >和 - > from modname import membername
- 19. 掃描@Configuration類和@Import配置類之間的區別
- 20. 「from _json import ...」 - python
- 21. from pylab import plot
- 22. ES6`export * from import`?
- 23. TortoiseHg Settings> Commit中的「default」和「default-push」之間有什麼區別?
- 24. Add-PsSnapIn和Import-Module之間的區別是什麼
- 25. 使用Python + OpenCV的「import cv」和「import opencv.cv」的區別?
- 26. loadfile,require和import之間有什麼區別
- 27. Python中的「from some_module import *」Lua
- 28. from xml.dom import DOMImplementation,DocumentType
- 29. from pygtk_image import *錯誤
- 30. from bs4 import BeautifulSoup Error
django.conf設置爲django默認設置或「全局」設置,您可以使用自己的基於項目的設置來覆蓋它們。 – Jingo
永遠不要使用第二種形式。第一個是唯一正確的。 –
但爲什麼不使用第二個? – tzenderman