django配置DJANGO_SETTINGS_MODULE的實(shí)現(xiàn)
DJANGO_SETTINGS_MODULE
使用Django時要通知Django當(dāng)前使用的是哪個配置文件??梢愿淖儹h(huán)境變量 DJANGO_SETTINGS_MODULE 實(shí)現(xiàn)這一點(diǎn)。
當(dāng)我們使用manage.py運(yùn)行起本地的web服務(wù)器時,為了讓Django知道使用哪個配置文件,就指定了DJANGO_SETTINGS_MODULE的環(huán)境變量的路徑,我們看下manage.py
import os
import sys
if __name__ == "__main__":
?? ?# test1是我的主應(yīng)用名字
? ? os.environ.setdefault("DJANGO_SETTINGS_MODULE", "test1.settings")
? ? try:
? ? ? ? from django.core.management import execute_from_command_line
? ? except ImportError:
? ? ? ? # The above import may fail for some other reason. Ensure that the
? ? ? ? # issue is really that Django is missing to avoid masking other
? ? ? ? # exceptions on Python 2.
? ? ? ? try:
? ? ? ? ? ? import django
? ? ? ? except ImportError:
? ? ? ? ? ? raise ImportError(
? ? ? ? ? ? ? ? "Couldn't import Django. Are you sure it's installed and "
? ? ? ? ? ? ? ? "available on your PYTHONPATH environment variable? Did you "
? ? ? ? ? ? ? ? "forget to activate a virtual environment?"
? ? ? ? ? ? )
? ? ? ? raise
? ? execute_from_command_line(sys.argv)Django的設(shè)置和配置。
值將從DJANGO_SETTINGS_MODULE環(huán)境指定的模塊中讀取
變量,然后從django.conf.global_settings(此為django的默認(rèn)設(shè)置)
為什么不能用import settings
import settings will import the first python module named settings.py found in sys.path, usually (in default django setups). It allows access only to your site defined settings file, which overwrites django default settings (django.conf.global_settings).So, if you try to access a valid django setting not specified in your settings file you will get an error.django.conf.settings is not a file but a class making an abstraction of the concepts, default settings and your site-specific settings. Django also does other checks when you use from django.conf import settings.from django.conf import settings 是更好的選擇
import settings將導(dǎo)入sys中第一個名為settings.py的python模塊。通常(在默認(rèn)的django設(shè)置中)。它只允許訪問站點(diǎn)定義的設(shè)置文件,該文件覆蓋django的默認(rèn)設(shè)置(django.conf.global_settings)。
因此,如果嘗試訪問未在設(shè)置文件中指定的有效django設(shè)置,將會得到一個錯誤。
django.conf.settings 不是一個文件,而是一個抽象概念、默認(rèn)設(shè)置和站點(diǎn)特定設(shè)置的類。當(dāng)您使用from django.conf import settings,Django還會執(zhí)行其他檢查。
from django.conf import settings是更好的選擇
Django settings詳解
1.基礎(chǔ)
DJANGO_SETTING_MODULE環(huán)境變量:讓settings模塊被包含到python可以找到的目錄下,開發(fā)情況下不需要,我們通常會在當(dāng)前文件夾運(yùn)行,python可以搜索到。如果需要運(yùn)行在其他服務(wù)器上,就必須指定DJANGO_SETTINGS_MODULE變量。
2.默認(rèn)設(shè)定
一個django的settings文件不需要我們手動去設(shè)置所有項(xiàng)目,因?yàn)橄到y(tǒng)已經(jīng)默認(rèn)設(shè)置好了。我們只需要修改我們使用的設(shè)
定就好了。默認(rèn)的設(shè)置在django/conf/global_settings.py文件中。django在編譯時,先載入global_settings.py中的配置,然后加載指定的settings文件,重寫改變的設(shè)定。
到此這篇關(guān)于django配置DJANGO_SETTINGS_MODULE的文章就介紹到這了,更多相關(guān)django配置DJANGO_SETTINGS_MODULE內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中bytes和str的區(qū)別與聯(lián)系詳解
Python3最重要的新特性之一是對字符串和二進(jìn)制數(shù)據(jù)流做了明確的區(qū),下面這篇文章主要給大家介紹了關(guān)于Python中bytes和str區(qū)別與聯(lián)系的相關(guān)資料,需要的朋友可以參考下2022-05-05
python jieba分詞并統(tǒng)計(jì)詞頻后輸出結(jié)果到Excel和txt文檔方法
本篇文章主要介紹了python jieba分詞并統(tǒng)計(jì)詞頻后輸出結(jié)果到Excel和txt文檔方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-02-02
python實(shí)現(xiàn)數(shù)通設(shè)備端口監(jiān)控示例
這篇文章主要介紹了python實(shí)現(xiàn)數(shù)通設(shè)備端口監(jiān)控示例,需要的朋友可以參考下2014-04-04
在Python開發(fā)環(huán)境中調(diào)用ChatGPT模型詳細(xì)過程
在開發(fā)過程當(dāng)中時常需要使用 ChatGPT 來完成一些任務(wù),但總是使用網(wǎng)頁交互模式去 Web 端訪問 ChatGPT 是很麻煩的,這時候我們可以使用代碼來調(diào)用 ChatGPT 模型,本文將詳細(xì)介紹在 Python 開發(fā)環(huán)境中調(diào)用 ChatGPT 模型過程,,需要的朋友可以參考下2023-05-05
python?lazypredict構(gòu)建大量基本模型簡化機(jī)器學(xué)習(xí)
這篇文章主要介紹了python?lazypredict構(gòu)建大量基本模型簡化機(jī)器學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Python爬蟲實(shí)現(xiàn)Cookie模擬登錄
這篇文章主要介紹了Python爬蟲實(shí)現(xiàn)Cookie模擬登錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

