Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-link-python-clean-data
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-link-python-clean-data
Commits
0fe2f336
提交
0fe2f336
authored
3月 12, 2026
作者:
lidongxu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
设置生产和开发环境的变量
上级
ea335516
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
28 行增加
和
9 行删除
+28
-9
config.py
code/config.py
+28
-9
没有找到文件。
code/config.py
浏览文件 @
0fe2f336
"""
"""
配置管理模块
配置管理模块
负责读取和管理应用配置
负责读取和管理应用配置
通过环境变量 ENV=development|production 自动区分开发/生产环境
"""
"""
import
os
import
os
...
@@ -11,20 +12,38 @@ from dotenv import load_dotenv
...
@@ -11,20 +12,38 @@ from dotenv import load_dotenv
_env_path
=
os
.
path
.
join
(
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
)),
'.env'
)
_env_path
=
os
.
path
.
join
(
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
)),
'.env'
)
load_dotenv
(
dotenv_path
=
_env_path
)
load_dotenv
(
dotenv_path
=
_env_path
)
# 环境标识:development | production,未设置时默认为开发环境
_ENV
=
os
.
getenv
(
"ENV"
,
"development"
)
.
strip
()
.
lower
()
IS_PRODUCTION
=
_ENV
==
"production"
IS_DEV
=
not
IS_PRODUCTION
def
_db_var
(
key
:
str
,
dev_default
:
str
,
prod_default
:
str
=
""
)
->
str
:
"""按环境读取数据库相关变量:生产环境优先读 PROD_DB_*,否则读 DB_*"""
if
IS_PRODUCTION
:
return
os
.
getenv
(
f
"PROD_DB_{key}"
,
os
.
getenv
(
f
"DB_{key}"
,
prod_default
))
or
prod_default
return
os
.
getenv
(
f
"DB_{key}"
,
dev_default
)
class
Config
:
class
Config
:
"""应用配置类"""
"""应用配置类"""
# 服务器配置
# 环境
ENV
:
str
=
_ENV
IS_PRODUCTION
:
bool
=
IS_PRODUCTION
IS_DEV
:
bool
=
IS_DEV
# 服务器配置(生产环境默认关闭 DEBUG)
HOST
:
str
=
os
.
getenv
(
"HOST"
,
"0.0.0.0"
)
HOST
:
str
=
os
.
getenv
(
"HOST"
,
"0.0.0.0"
)
PORT
:
int
=
int
(
os
.
getenv
(
"PORT"
,
"8000"
))
PORT
:
int
=
int
(
os
.
getenv
(
"PORT"
,
"8000"
))
DEBUG
:
bool
=
os
.
getenv
(
"DEBUG"
,
"
Fals
e"
)
.
lower
()
==
"true"
DEBUG
:
bool
=
os
.
getenv
(
"DEBUG"
,
"
false"
if
IS_PRODUCTION
else
"tru
e"
)
.
lower
()
==
"true"
# 数据库配置
# 数据库配置
:开发用 DB_*,生产用 PROD_DB_*(或系统环境变量覆盖)
DB_HOST
:
str
=
os
.
getenv
(
"DB_
HOST"
,
"localhost"
)
DB_HOST
:
str
=
_db_var
(
"
HOST"
,
"localhost"
)
DB_PORT
:
int
=
int
(
os
.
getenv
(
"DB_
PORT"
,
"3306"
))
DB_PORT
:
int
=
int
(
_db_var
(
"
PORT"
,
"3306"
))
DB_USER
:
str
=
os
.
getenv
(
"DB_
USER"
,
"root"
)
DB_USER
:
str
=
_db_var
(
"
USER"
,
"root"
)
DB_PASSWORD
:
str
=
os
.
getenv
(
"DB_
PASSWORD"
,
""
)
DB_PASSWORD
:
str
=
_db_var
(
"
PASSWORD"
,
""
)
DB_NAME
:
str
=
os
.
getenv
(
"DB_
NAME"
,
"clean_data"
)
DB_NAME
:
str
=
_db_var
(
"
NAME"
,
"clean_data"
)
# 日志配置
# 日志配置
LOG_LEVEL
:
str
=
os
.
getenv
(
"LOG_LEVEL"
,
"INFO"
)
LOG_LEVEL
:
str
=
os
.
getenv
(
"LOG_LEVEL"
,
"INFO"
)
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论