最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flask?使用類(lèi)組織配置詳情

 更新時(shí)間:2021年11月26日 10:36:58   作者:tigeriaf  
這篇文章主要介紹了Flask使用類(lèi)組織配置,在實(shí)際的項(xiàng)目中,我們一般都會(huì)建立三個(gè)環(huán)境:開(kāi)發(fā)、測(cè)試和生產(chǎn)環(huán)境,這三種環(huán)境會(huì)使用不同的配置組合,為了能方便地切換配置,我們可以為不同的環(huán)境創(chuàng)建不同的配置文件,下面來(lái)看詳細(xì)內(nèi)容,需要的朋友可以參考一下

在實(shí)際的項(xiàng)目中,我們一般都會(huì)建立三個(gè)環(huán)境:開(kāi)發(fā)、測(cè)試和生產(chǎn)環(huán)境,這三種環(huán)境會(huì)使用不同的配置組合,為了能方便地切換配置,我們可以為不同的環(huán)境創(chuàng)建不同的配置文件,但是最方便的做法是在單個(gè)配置文件中使用 Python 類(lèi)來(lái)組織多個(gè)不同類(lèi)別的配置。

例如下面是一個(gè)應(yīng)用的配置文件 settings.py,它包含一個(gè)基本配置類(lèi) BaseConfig,

還有其他特定的配置類(lèi):

  • 開(kāi)發(fā)配置類(lèi) DevelopConfig
  • 測(cè)試配置類(lèi) TestCofig
  • 生產(chǎn)配置類(lèi) ProductConfig

這些特定配置類(lèi)都繼承自基本配置類(lèi)。

import logging

import os

class BaseConfig(object): 

    DEBUG = True

    SECRET_KEY = "qwertyuiop"

    SQLALCHEMY_DATABASE_URI = "mysql://username:password@192.168.1.89:3306/app_db"

    SQLALCHEMY_TRACK_MODIFICATIONS = False

    REDIS_URL = "redis://:password@192.168.1.89:6379/0"

    LEVEL_NAME = logging.DEBUG

class DevelopConfig(BaseConfig):

    pass

class TestConfig(BaseConfig):

    TESTING = True

    SQLALCHEMY_DATABASE_URI = "mysql://username:password@192.168.1.123:3306/app_db"

class ProductConfig(BaseConfig):

    DEBUG = False

    LEVEL_NAME = logging.ERROR

    SQLALCHEMY_DATABASE_URI = os.getenv("DATABASE_URL", "mysql://username:password@**.***.*.**:3306/app_db")

config_dict = {

    "develop": DevelopConfig,

    "product": ProductConfig,

    "test": TestConfig

}

上述代碼中,首先建立了一個(gè)基本配置類(lèi) BaseConfig 并初始化了一些配置信息,然后針對(duì)不同的環(huán)境建立了不同的類(lèi)繼承自 BaseConfig 類(lèi),重新設(shè)置了不同的配置信息,例如數(shù)據(jù)庫(kù) url,測(cè)試環(huán)境與開(kāi)發(fā)環(huán)境不同,生產(chǎn)環(huán)境優(yōu)先從環(huán)境變量中獲取。

然后,創(chuàng)建了一個(gè)字典來(lái)存儲(chǔ)配置名稱(chēng)和配置類(lèi)的映射,相當(dāng)于提供了一個(gè)配置信息的訪問(wèn)入口,可以根據(jù)指定的配置名稱(chēng)來(lái)獲取對(duì)應(yīng)的配置類(lèi)。

編寫(xiě)好了配置文件,我們?cè)趹?yīng)用主程序中創(chuàng)建 Flask 實(shí)例 app 時(shí),就可以使用后app.config.from_object()方法加載配置,

例如:

from settings import config_dict 

app = Flask(__name__)

config_name = os.getenv('CONFIG_NAME', 'develop')

app.config.from_object(config_dict[config_name])

首先從配置文件中導(dǎo)入配置名稱(chēng)和配置類(lèi)的映射字典 config_dict,從環(huán)境變量 CONFIG_NAME 讀取配置名稱(chēng),然后通過(guò)app.config.from_object()方法加載指定配置信息,如果沒(méi)有讀取到 CONFIG_NAME,默認(rèn)使用 develop,對(duì)應(yīng)的配置類(lèi)即 DevelopmentConfig。

Flask 支持多種方式加載配置信息,除了上述的從 Python 類(lèi)中加載,還支持 從 JSON 文件中加載、從 py 文件中加載等,app.config類(lèi)提供了不同的方法來(lái)加載不同格式的配置文件,還是比較靈活的。

到此這篇關(guān)于 Flask? ?使用類(lèi)組織配置詳情的文章就介紹到這了,更多相關(guān) Flask? ?使用類(lèi)組織配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pytorch 抽取vgg各層并進(jìn)行定制化處理的方法

    Pytorch 抽取vgg各層并進(jìn)行定制化處理的方法

    今天小編就為大家分享一篇Pytorch 抽取vgg各層并進(jìn)行定制化處理的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • selenium XPath定位的實(shí)現(xiàn)示例

    selenium XPath定位的實(shí)現(xiàn)示例

    XPath是一種在XML文檔中定位和選擇節(jié)點(diǎn)的語(yǔ)言,通過(guò)路徑表達(dá)式遍歷XML樹(shù),支持節(jié)點(diǎn)選取、字符串匹配、數(shù)值計(jì)算、邏輯運(yùn)算等功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • tensorflow 查看梯度方式

    tensorflow 查看梯度方式

    今天小編就為大家分享一篇tensorflow 查看梯度方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • 使用python實(shí)現(xiàn)ANN

    使用python實(shí)現(xiàn)ANN

    這篇文章主要為大家詳細(xì)介紹了使用python實(shí)現(xiàn)ANN的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python使用requests提交HTTP表單的方法

    Python使用requests提交HTTP表單的方法

    今天小編就為大家分享一篇Python使用requests提交HTTP表單的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python利用sched模塊實(shí)現(xiàn)定時(shí)任務(wù)

    Python利用sched模塊實(shí)現(xiàn)定時(shí)任務(wù)

    今天我們來(lái)介紹一下Python當(dāng)中的定時(shí)任務(wù),主要用到的模塊是sched,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • 基于django 的orm中非主鍵自增的實(shí)現(xiàn)方式

    基于django 的orm中非主鍵自增的實(shí)現(xiàn)方式

    這篇文章主要介紹了基于django 的orm中非主鍵自增的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • python人工智能tensorflow函數(shù)np.random模塊使用

    python人工智能tensorflow函數(shù)np.random模塊使用

    這篇文章主要為大家介紹了python人工智能tensorflow函數(shù)np.random模塊使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 徹底搞懂python 迭代器和生成器

    徹底搞懂python 迭代器和生成器

    這篇文章主要介紹了python 迭代器和生成器的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • 關(guān)于python函數(shù)的建立、調(diào)用、傳參、返回值詳解

    關(guān)于python函數(shù)的建立、調(diào)用、傳參、返回值詳解

    這篇文章主要介紹了關(guān)于python函數(shù)的建立、調(diào)用、傳參、返回值詳解,Python?還支持自定義函數(shù),即將一段有規(guī)律的、可重復(fù)使用的代碼定義成函數(shù),從而達(dá)到一次編寫(xiě)多次調(diào)用的目的,需要的朋友可以參考下
    2023-07-07

最新評(píng)論

安陆市| 定结县| 饶河县| 大连市| 洞口县| 顺平县| 浦北县| 信宜市| 泸州市| 东丽区| 汽车| 仙桃市| 宁化县| 固始县| 海原县| 和硕县| 镇赉县| 东山县| 洪泽县| 枣强县| 新龙县| 无锡市| 息烽县| 滨海县| 洱源县| 丰镇市| 定结县| 科技| 淮南市| 金堂县| 五大连池市| 黄冈市| 巴楚县| 秦皇岛市| 安福县| 新安县| 清丰县| 竹北市| 旌德县| 大庆市| 阜新|