KeyError: 'SECRET_KEY'

장서연·2021년 7월 1일

.env의 키변수와 값의 형태를 잘 확인할것😜

import os.path
from pathlib import Path

BASE_DIR = Path(__file__).resolve().parent.parent
env_list = dict()

local_env = open(os.path.join(BASE_DIR, '.env'))
while True:
    line = local_env.readline()
    if not line:
        break
    line = line.replace('\n', '')
    start = line.find('=')
    key = line[:start]
    value = line[start+1:]
    env_list[key] = value


SECRET_KEY = env_list['SECRET_KEY']

위와 같은 로직으로 .env파일에서 시크릿키들을 한줄씩 읽어 env_list라는 딕셔너리에 하나씩 넣어 원하는 키의 값들을 가져올 수 있게 했다.

그런데 서버를 띄우려고 보니 SECRET_KEY에 관한 키에러가 났다. 왜그럴까 생각해보니, .env파일에 키변수에 값을 저장할 때 공백도 들어가고 쌍따옴표로도 묶어준 채로 들어가있었다.

당연히 위의 반복문을 돌면서 '=' 문자열을 기준으로 값을 검사할 때 공백과 따옴표도 함께 들어갔기에 서버가 동작하지 않았던 것이다.

0개의 댓글