问题描述: 在Flask项目中,使用Alembic进行数据库迁移时,发现env.py文件无法读取环境变量。
解决方法:
dotenv库来加载环境变量。首先,在项目的根目录下创建一个名为.env的文件,将需要的环境变量按照KEY=VALUE的格式写入该文件。然后,在env.py文件的开头添加以下代码:from dotenv import load_dotenv
load_dotenv()
这样就可以在env.py中访问.env文件中定义的环境变量了。
os模块来访问环境变量。在env.py中使用os.environ.get('ENV_VARIABLE_NAME')的方式来获取环境变量的值。例如:import os
# 获取环境变量
db_url = os.environ.get('DATABASE_URL')
from flask import current_app
# 获取环境变量
db_url = current_app.config['DATABASE_URL']
from myapp import app
# 获取环境变量
db_url = app.config['DATABASE_URL']
请根据你的具体情况选择合适的解决方法来访问环境变量。