Skip to content
On this page

與資料庫對話(.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)

參考