欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django 設(shè)置多環(huán)境配置文件載入問題

 更新時(shí)間:2020年02月25日 09:04:29   作者:hongweipeng  
這篇文章主要介紹了Django 設(shè)置多環(huán)境配置文件載入問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

在上篇文章給大家介紹過Django 多環(huán)境配置詳解,感興趣的朋友可以點(diǎn)擊查閱,今天繼續(xù)給大家介紹django 多環(huán)境配置的相關(guān)內(nèi)容,本文重點(diǎn)給大家介紹Django 設(shè)置多環(huán)境配置文件載入的相關(guān)知識(shí),一起看看吧。

起步

通常,針對(duì)不同的開發(fā)環(huán)境,需要不同的配置保證程序可運(yùn)行且不干擾。單個(gè) settings.py 文件就很難滿足需求,需要將他拆分為多個(gè)文件,根據(jù)特定環(huán)境載入不同的配置文件。一種簡(jiǎn)單的劃分就是分為 4 個(gè)文件:

__init__.py
base.py
dev.py
prod.py

基本結(jié)構(gòu)

一個(gè)初始的 Django 項(xiàng)目目錄結(jié)構(gòu)如下:

mysite/
 |-- mysite/
 | |-- __init__.py
 | |-- settings.py
 | |-- urls.py
 | +-- wsgi.py
 +-- manage.py

這時(shí)候要做的就是創(chuàng)建一個(gè)名為 settings 的文件夾,將 settings.py 重命名為 base.py 并放入文件夾內(nèi):

mysite/
 |-- mysite/
 | |-- __init__.py
 | |-- settings/  <-- 新建的文件夾
 | | |-- __init__.py <--
 | | |-- base.py <-- 舊的 settings.py
 | | |-- cli.py <-- 根據(jù)不同環(huán)境而新增的配置文件
 | | |-- dev.py
 | | +-- prod.py
 | |-- urls.py
 | +-- wsgi.py
 +-- manage.py

base.py 顧名思義,它將成為所有環(huán)境的通用配置,擴(kuò)展的配置文件需要將 base.py 導(dǎo)入:

# settings/dev.py
from .base import *

DEBUG = True

INSTALLED_APPS += [
 'debug_toolbar',
]
...

讓配置文件生效

要使配置文件生效,需要讓 Django 知道我們要使用哪個(gè)配置文件,一種方式就是在命令行中傳遞這個(gè) --settings=mysite.settings.dev 參數(shù),如:

python manage.py runserver --settings=mysite.settings.dev
python manage.py runserver --settings=mysite.settings.prod
python manage.py migrate --settings=mysite.settings.prod

如果不希望每次指令都傳遞 --settings 參數(shù),也可以通過修改 manage.py 文件實(shí)現(xiàn)使用不同的配置文件:

# manage.py
import os
import sys
if __name__ == "__main__":
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings.dev") # 修改這個(gè)位置
 ...

在服務(wù)器上指定設(shè)置

生產(chǎn)環(huán)境下一般不會(huì)使用 runserver 指令運(yùn)行,大多是通過 uwsgi 方式運(yùn)行,修改 mysite/wsgi.py :

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings.prod")
application = get_wsgi_application()

通過修改 DJANGO_SETTINGS_MODULE 環(huán)境變量指向所需的配置文件。

下面看下django settings多環(huán)境配置

通常我們會(huì)把本地、線上的配置拆分,django不同環(huán)境的配置可如下:

1.在settings.py同級(jí)目錄添加settings文件夾

2.把settings.py移到settings文件夾內(nèi),并重命名為base.py

3.添加dev.py, prod.py到settings文件夾

4.base.py中的根目錄,要改成:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(os.path.join(__file__, os.pardir))))

說明:

1)一些公共配置,放在base.py中。其他因環(huán)境而不同的配置,加到local.py/prod.py中

2)dev.py/prod.py,需要把base.py中的配置導(dǎo)入

from .base import *
DEBUG = True
#其他配置

3)啟動(dòng)服務(wù)時(shí),用--setings指定配置

python manage.py runserver --settings=back-server.settings.dev

正式環(huán)境用uwsgi部署,則配置環(huán)境變量:DJANGO_SETTINGS_MODULE=back-server.settings.prod

總結(jié)

到此這篇關(guān)于Django 設(shè)置多環(huán)境配置文件載入的文章就介紹到這了,更多相關(guān)django 配置文件載入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python descriptor(描述符)的實(shí)現(xiàn)

    Python descriptor(描述符)的實(shí)現(xiàn)

    這篇文章主要介紹了Python descriptor(描述符)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • python初步實(shí)現(xiàn)word2vec操作

    python初步實(shí)現(xiàn)word2vec操作

    這篇文章主要介紹了python初步實(shí)現(xiàn)word2vec操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 詳解Python中表達(dá)式i += x與i = i + x是否等價(jià)

    詳解Python中表達(dá)式i += x與i = i + x是否等價(jià)

    這篇文章主要介紹了關(guān)于Python中表達(dá)式i += x與i = i + x是否等價(jià)的相關(guān)資料,文中通過示例代碼介紹的很詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,有需要的朋友們下面來一起看看吧。
    2017-02-02
  • 在Python中利用Pandas庫(kù)處理大數(shù)據(jù)的簡(jiǎn)單介紹

    在Python中利用Pandas庫(kù)處理大數(shù)據(jù)的簡(jiǎn)單介紹

    這篇文章簡(jiǎn)單介紹了在Python中利用Pandas處理大數(shù)據(jù)的過程,Pandas庫(kù)的使用能夠很好地展現(xiàn)數(shù)據(jù)結(jié)構(gòu),是近來Python項(xiàng)目中經(jīng)常被使用使用的熱門技術(shù),需要的朋友可以參考下
    2015-04-04
  • Python Django 通用視圖和錯(cuò)誤視圖的使用代碼

    Python Django 通用視圖和錯(cuò)誤視圖的使用代碼

    這篇文章主要介紹了Python Django 通用視圖和錯(cuò)誤視圖的使用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • python全面解析接口返回?cái)?shù)據(jù)

    python全面解析接口返回?cái)?shù)據(jù)

    這篇文章主要介紹了python接口返回?cái)?shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Python四大金剛之列表詳解

    Python四大金剛之列表詳解

    這篇文章主要介紹了Python的列表,小編覺得這篇文章寫的還不錯(cuò),需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-10-10
  • PyTorch 中的 torch.utils.data 解析(推薦)

    PyTorch 中的 torch.utils.data 解析(推薦)

    這篇文章主要介紹了PyTorch?torch.utils.data.Dataset概述案例詳解,主要介紹對(duì)?torch.utils.data.Dataset?的理解,需要的朋友可以參考下
    2023-02-02
  • python的endswith()的使用方法及實(shí)例

    python的endswith()的使用方法及實(shí)例

    這篇文章主要介紹了python的endswith()的使用方法及實(shí)例,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • pandas DataFrame 警告(SettingWithCopyWarning)的解決

    pandas DataFrame 警告(SettingWithCopyWarning)的解決

    這篇文章主要介紹了pandas DataFrame 警告(SettingWithCopyWarning)的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評(píng)論