與資料庫對話(.env)篇
與數據庫對話要避免建立環境時敏感資料外流,常會使用到.env設定。這裡使用到pytho-dotenv。
環境設置
- venv
- python
- python-dotenv
cmd
pip install python-dotenv
建立 .env 檔
當然一開始就須先建立.env檔案,內容可以自己填。以下是範例。
cmd
DATABASE_URL = "mysql+pymysql://root@localhost:3306/資料庫"
或者是以下這樣:
cmd
DB_USER=root
DB_PASSWORD=''
DB_HOST=localhost
DB_PORT=3306
DB_NAME=資料庫
引入 dotenv
os
模塊是用來調用系統命令,用在刪除、使用、查詢等等。pathlib
模塊是用來調用文件路徑。
py
import os
import dotenv from load_dotenv
import pathlib from Path
指定.env
檔案路徑
py
env_path=Path('.') / '.env'
load_dotenv(dotenv_path=env_path)
使用方式要配合 os.getenv()
這個指令。
py
engine=create_engine(os.getenv('DATABASE_URL'), echo=True)
或改成這樣
py
dbuser=os.getenv('DB_USER')
dbpwd=os.getenv('DB_PASSWORD')
dbhost=os.getenv('DB_HOST')
dbport=os.getenv('DB_PORT')
dbname=os.getenv('DB_NAME')
dburl=f"mysql+pymysql://{dbuser}:{dbpwd}@{dbhost}:{dbport}/{dbname}"
engine=create_engine(dburl, echo=True)