程序员flask web 学习笔记

flask web 开发实战(二)--环境变量和项目配置

2020-08-24  本文已影响0人  code_debug

管理环境变量

环境变量文件包括三个来源:

环境变量的使用之项目配置:

app = Flask(__name__)
db = SQLAlchemy(app)

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://xxxx@127.xxxx'
app.config['SECRET_KEY'] = 'secret_key'
import os
from dotenv import load_dotenv

prodir = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))  # 获取上级目录
load_dotenv(os.path.join(prodir,'.env'))

SECRET_KEY = os.getenv('SECRET_KEY','secret_key')
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_DATABASE_URI = os.getenv('SQLALCHEMY_DATABASE_URI')
BLUELOG_MANAGE_POST_PER_PAGE=5
BLUELOG_COMMENT_PER_PAGE=5

环境变量的加载原理

from flask import Flask
import os
from dotenv import load_dotenv
# 环境变量的加载顺序,系统变量>.env>.flaskenv

prodir = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))  # 获取上级目录
load_dotenv(os.path.join(prodir,'.env'))
load_dotenv(os.path.join(prodir,'.flaskenv'))

app =Flask(__name__)
#直接定义变量值
app.config['APPLE']='APPLE'
#从系统变量取值
app.config['pyenv'] = os.getenv('PYENV')
# .env  .flaskenv 加入环境变量后,取值。验证优先级
app.config['WATER'] = os.getenv('WATER')
app.config['AA'] = os.getenv('APPLE')
app.config['BB'] = os.getenv('EGG')

for k,v in app.config.items():
    print(k,v)

上一篇 下一篇

猜你喜欢

热点阅读