Django?項(xiàng)目配置拆分獨(dú)立的實(shí)現(xiàn)
Django 項(xiàng)目中,我們默認(rèn)的配置是都在 settings.py 文件里面的,但是實(shí)際本地調(diào)試和線上應(yīng)該是需要兩個(gè)環(huán)境的,我們現(xiàn)在來(lái)拆分下配置。將配置拆分開來(lái)。
一、創(chuàng)建配置目錄
我們?cè)陧?xiàng)目的跟路徑下創(chuàng)建一個(gè)config 目錄
二、創(chuàng)建基礎(chǔ)配置文件
在config 配置下 創(chuàng)建 base.py 文件,然后將原來(lái) settings.py 文件內(nèi)容拷貝過(guò)來(lái)。
三、創(chuàng)建各個(gè)環(huán)境的配置
注意我是把一些配置提取出來(lái)了,如果我們?cè)?環(huán)境配置中加了的配置,在 base 中就不需要加了
創(chuàng)建 dev.py
from .base import * # 注意這個(gè)必須加,這個(gè)是將base 的配置導(dǎo)入
DEBUG = True
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': "ops",
"HOST": "127.0.0.1",
"PORT": 3306,
"USER": "root",
"PASSWORD": "",
},
}
ALIYUN_SECRETID = '123'
創(chuàng)建 prod.py
from .base import * # 注意這個(gè)必須加,這個(gè)是將base 的配置導(dǎo)入
DEBUG = False
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': "ops",
"HOST": "127.0.0.1",
"PORT": 3306,
"USER": "ops",
"PASSWORD": "",
},
}
ALIYUN_SECRETID = '123'
四、調(diào)整settings.py
將settings.py 原有的配置替換成下面的內(nèi)容。
DJANGO_CONF_MODULE = 'config.{env}'.format(env='dev')
try:
_module = __import__(DJANGO_CONF_MODULE, globals(), locals(), ['*'])
except ImportError as e:
raise ImportError("Could not import config '%s' (Is it on sys.path?): %s"
% (DJANGO_CONF_MODULE, e))
for _setting in dir(_module):
if _setting == _setting.upper():
locals()[_setting] = getattr(_module, _setting)
上面配置是默認(rèn)使用 dev 的配置。 假設(shè)我們要使用prod 的配置,就將 dev 替換成 prod
五、程序使用
from django.conf import settings settings.ALIYUN_SECRETID # 引用
六、目錄結(jié)構(gòu)

到此這篇關(guān)于Django 項(xiàng)目配置拆分獨(dú)立的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Django 項(xiàng)目配置拆分獨(dú)立 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python機(jī)器學(xué)習(xí)之決策樹算法實(shí)例詳解
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)之決策樹算法,較為詳細(xì)的分析了實(shí)例詳解機(jī)器學(xué)習(xí)中決策樹算法的概念、原理及相關(guān)Python實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-12-12
Python中時(shí)間datetime的處理與轉(zhuǎn)換用法總結(jié)
今天小編就為大家分享一篇關(guān)于Python中時(shí)間datetime的處理與轉(zhuǎn)換用法總結(jié),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
python實(shí)現(xiàn)簡(jiǎn)單socket通信的方法
這篇文章主要介紹了python實(shí)現(xiàn)簡(jiǎn)單socket通信的方法,結(jié)合實(shí)例形式分析了socket通信服務(wù)端與客戶端的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-04-04
簡(jiǎn)單了解Python下用于監(jiān)視文件系統(tǒng)的pyinotify包
這篇文章主要介紹了Python下用于監(jiān)視文件系統(tǒng)的pyinotify包,pyinotify基于inotify事件驅(qū)動(dòng)機(jī)制,需要的朋友可以參考下2015-11-11
pytorch 實(shí)現(xiàn)變分自動(dòng)編碼器的操作
這篇文章主要介紹了pytorch 實(shí)現(xiàn)變分自動(dòng)編碼器的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
python實(shí)現(xiàn)一個(gè)函數(shù)版的名片管理系統(tǒng)過(guò)程解析
這篇文章主要介紹了python實(shí)現(xiàn)一個(gè)函數(shù)版的名片管理系統(tǒng)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
python3.8.3安裝教程及環(huán)境配置的詳細(xì)教程(64-bit)
這篇文章主要介紹了python3.8.3安裝教程及環(huán)境配置的詳細(xì)教程(64-bit),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11

