新建environments.py
import os
from flask.cli import load_dotenv
from src.lib.error_code import NotFoundError
class Environments(object):
def __init__(self, app=None, var_name=None, default_env=None):
self.app = app
self.var_name = var_name or 'FLASK_ENV'
self.default_env = default_env
self.env = None
self.load_dotenv()
def load_dotenv(self):
load_dotenv()
self.env = os.environ.get(self.var_name, self.default_env)
def from_json(self, config_obj):
name = self.env
try:
if name:
obj = '%s_%s' % (config_obj, name)
else:
obj = config_obj
self.app.config.from_json('./config/' + obj + '.json')
return
except:
raise NotFoundError(msg='配置文件不存在')
flask启动文件引入环境
app = Flask('environments')
env = Environments(app)
env.from_json('config')
新建.flaskenv文件
FLASK_APP=starter.py
FLASK_ENV=dev
FLASK_DEBUG=0
对应三个配置文件