오늘 배운 것
- dotenv 모듈
- .gitignore
풀스택 미니 프로젝트를 진행하면서, mongodb 클라이언트 주소 값을 깃헙 public 레포에 올리면 깃헙에서 위험하다는 알림 메일이 온다.
이를 해결하기 위해 폭풍 검색을 통해 환경변수 설정이라는 개념이 있다는 것을 알게 되었다.
즉, 프로그램을 사용할때, 필요한 환경변수들을 설정할 수 있는 별도의 파일이다.
통칭 닷엔브(dotenv) 파일...
프로젝트 루트 디렉토리에 ".env" 파일을 생성하고, 만약 해당 프로젝트를 깃헙 퍼블릭 레포에 올려야 한다면, ".gitignore" 파일도 함께 생성한다.

.env 파일 리터럴
리터럴이랄 것이 없다 사실.
.env 파일에는 "key = value" 쌍으로 저장만 하면 된다.
# .env 파일
MONGODB_CLIENT = 몽고디비 클라이언트 주소
DB = project7
그리고 .gitignore에는 .env를 추가한다. => 이렇게 하면, 깃에서 .env 파일을 인식하지 못한다.
# .gitignore
.env
이렇게 하고, python 파일에서 해당 값을 받아오면 끝난다.
import os
from dotenv import dotenv_values
from pymongo import MongoClient
config = dotenv_values('.env')
atlas_url = config['MONGODB_CLIENT']
client = MongoClient(atlas_url)
db = client.db이름
dotenv 모듈을 사용하기 위해서는 python-dotenv 모듈을 먼저 설치해야 한다.
그리고, os, dotenv_values를 import해서 위의 코드와 같이 사용하면 된다.
- (시도) db이름도 처음에는 .env 파일에 저장해서 불러와봤는데, 타입이 string이라 그런지 빈 문자열만 돌아왔다.
config = dotenv_values('.env')
atlas_url = config['MONGODB_CLIENT']
db_name = config['DB']
client = MongoClient(atlas_url)
db = client.db_name
data = list(db.users.find({}, {'_id': False}))
print(data) #[]
=> 나중에 여유가 되면 왜 그런지 알아볼 것!
'항해99_10기 > 105일의 TIL & WIL' 카테고리의 다른 글
| [20221118] JavaScript 특성과 자료구조 (0) | 2022.11.19 |
|---|---|
| [20221117] 1주차 풀스택 미니 프로젝트 회고 (0) | 2022.11.18 |
| [20221115] onclick 함수에 매개변수 사용, dynamic routing (0) | 2022.11.16 |
| [20221114] 회원가입 및 로그인 - 해시함수와 JWT / REST API (0) | 2022.11.14 |
| [20221112] scope & strict mode & module (0) | 2022.11.12 |