在开发环境中为了数据安全, 数据库信息不要直接写在代码里, 比较好的做法是将相关信息放在环境变量里, 连接数据库时再从环境变量里读取.
将信息写入环境变量
创建文件.SECRET_KEY
, 写入类似下面的内容:
SECRET_HOST='127.0.0.1'
SECRET_DBNAME='dbname'
SECRET_DBUSER='username'
SECRET_DBPASSWD='123456'
用python包dotenv
把文件内容写入环境变量, 安装:
1
| pip install python-dotenv
|
使用:
1
2
3
4
5
6
7
8
9
| import os
from dotenv import load_dotenv
def load_environ_key(path):
key_file_path = path
if os.path.exists(key_file_path):
load_dotenv(key_file_path, override=True)
load_environ_key('/www/xxx/.SECRET_KEY')
|
从环境变量读取信息
从环境变量里读取信息举例:
1
2
3
4
5
| import os
import pymysql
db = pymysql.connect(host=os.environ["SECRET_HOST"], user=os.environ["SECRET_DBUSER"], passwd=os.environ["SECRET_DBPASSWD"], database=os.environ["SECRET_DBNAME"], charset='utf8')
cursor = db.cursor()
|