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

Flask?使用類組織配置詳情

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

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

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

還有其他特定的配置類:

  • 開發(fā)配置類 DevelopConfig
  • 測試配置類 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

}

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

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

編寫好了配置文件,我們在應(yīng)用主程序中創(chuàng)建 Flask 實例 app 時,就可以使用后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,對應(yīng)的配置類即 DevelopmentConfig

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

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

相關(guān)文章

  • 把vgg-face.mat權(quán)重遷移到pytorch模型示例

    把vgg-face.mat權(quán)重遷移到pytorch模型示例

    今天小編就為大家分享一篇把vgg-face.mat權(quán)重遷移到pytorch模型示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Pytorch訓(xùn)練過程出現(xiàn)nan的解決方式

    Pytorch訓(xùn)練過程出現(xiàn)nan的解決方式

    今天小編就為大家分享一篇Pytorch訓(xùn)練過程出現(xiàn)nan的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python基礎(chǔ)梳理(一)(推薦)

    python基礎(chǔ)梳理(一)(推薦)

    這篇文章主要介紹了python基礎(chǔ)梳理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python 爬蟲實現(xiàn)增加播客訪問量的方法實現(xiàn)

    Python 爬蟲實現(xiàn)增加播客訪問量的方法實現(xiàn)

    這篇文章主要介紹了Python 爬蟲實現(xiàn)增加播客訪問量的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python網(wǎng)絡(luò)編程 Python套接字編程

    Python網(wǎng)絡(luò)編程 Python套接字編程

    這篇文章主要為大家詳細(xì)介紹了Python網(wǎng)絡(luò)編程的相關(guān)資料,Python套接字編程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Python利用keras接口實現(xiàn)深度神經(jīng)網(wǎng)絡(luò)回歸

    Python利用keras接口實現(xiàn)深度神經(jīng)網(wǎng)絡(luò)回歸

    這篇文章主要為大家詳細(xì)介紹了基于Python語言中TensorFlow的Keras接口,實現(xiàn)深度神經(jīng)網(wǎng)絡(luò)回歸的方法。文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-02-02
  • Python快速將ppt制作成配音視頻課件的操作方法

    Python快速將ppt制作成配音視頻課件的操作方法

    最近在搗鼓配音視頻課件的制作方法,發(fā)現(xiàn)使用Moviepy進行合成比圖形操作界面的合成軟件效果更好,可以完美的解決音頻和ppt材料的協(xié)同問題,下面就詳細(xì)介紹一下這個過程,供ppt視頻課件制作生手提供一個可以高效制作視頻的方法
    2021-06-06
  • nx.adjacency_matrix計算鄰接矩陣與真實結(jié)果不一致的解決

    nx.adjacency_matrix計算鄰接矩陣與真實結(jié)果不一致的解決

    這篇文章主要介紹了nx.adjacency_matrix計算鄰接矩陣與真實結(jié)果不一致的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 使用matlab 判斷兩個矩陣是否相等的實例

    使用matlab 判斷兩個矩陣是否相等的實例

    這篇文章主要介紹了使用matlab 判斷兩個矩陣是否相等的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 關(guān)于安裝halcon包pycharm提示不全的問題

    關(guān)于安裝halcon包pycharm提示不全的問題

    很多小伙伴給小編反映在pycham上面安裝halcon對應(yīng)的安裝包之后,導(dǎo)入出現(xiàn)問題,發(fā)現(xiàn)輸入ha.read 沒有自動提示 ,只有幾個變量和方法,怎么解決這個問題呢,下面小編給大家?guī)砹税惭bhalcon包pycharm提示不全的問題,一起看看吧
    2021-06-06

最新評論