FastAPI通过dotenv读取生产或测试环境配置

1.pycharm中的Run/Debug Configurations设置中配置环境变量

image

2.读取环境变量

1
2
3
4
5
6
7
8
9

    print(os.environ.get('PYTHONUNBUFFERED'))
    print(os.environ.get('ENVTYPE'))

    env_type = os.environ.get("ENVTYPE")
    if env_type == "prod":
        config_file = "prod.env"
    elif env_type == "test":
        config_file = "test.env"

3.创建env文件及配置类

1
2
3
4
5
6
7
8

from pydantic_settings import BaseSettings

class Settings(BaseSettings):
    REDIS_URL: str
    MYSQL_DATABASE_URL: str
    GRIDFS_URL: str
    DEBUG: bool

test.env文件

1
2
3
4
REDIS_URL="redis://127.0.0.1:6379/0?encoding=utf-8"
MYSQL_DATABASE_URL = "mysql+pymysql://root:111111@127.0.0.1:3306/mydatabase?charset=utf8mb4"
GRIDFS_URL="mongodb://localhost:27017/"
DEBUG=True

prod.env文件类似

这样很容易配置测试,生产等不同的环境了。