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

Flask?使用類組織配置詳情

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

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

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

還有其他特定的配置類:

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

這些特定配置類都繼承自基本配置類。

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

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

編寫好了配置文件,我們?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)入配置名稱和配置類的映射字典 config_dict,從環(huán)境變量 CONFIG_NAME 讀取配置名稱,然后通過app.config.from_object()方法加載指定配置信息,如果沒有讀取到 CONFIG_NAME,默認(rèn)使用 develop,對(duì)應(yīng)的配置類即 DevelopmentConfig。

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

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

相關(guān)文章

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

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

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

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

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

    tensorflow 查看梯度方式

    今天小編就為大家分享一篇tensorflow 查看梯度方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    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ì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python利用sched模塊實(shí)現(xiàn)定時(shí)任務(wù)

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

    今天我們來介紹一下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ì)大家有所幫助。一起跟隨小編過來看看吧
    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á)到一次編寫多次調(diào)用的目的,需要的朋友可以參考下
    2023-07-07

最新評(píng)論

开化县| 罗平县| 柏乡县| 大关县| 鹤峰县| 车险| 西乡县| 鄂托克前旗| 伊春市| 庄河市| 张家口市| 阿拉尔市| 鄯善县| 海淀区| 柳州市| 马鞍山市| 富裕县| 通渭县| 光山县| 白城市| 扎鲁特旗| 乐都县| 湛江市| 平泉县| 若尔盖县| 桐城市| 邯郸市| 焦作市| 朝阳区| 茶陵县| 寻甸| 合作市| 耒阳市| 大庆市| 中江县| 杭锦旗| 宜昌市| 中卫市| 肇东市| 宣威市| 信丰县|