작성
·
330
0
저는 secret_key는 장고를 실행하기 위해서 반드시 필요하며 외부에 노출되면 안된다고 알고 있어서 외부에 환경변수 파일(.env)을 만들어서 저장해두고,
decouple을 이용하여 secret_key를 처리해주고 있는데요
제가 다른 컴퓨터에다 git을 이용하여 clone을 받아올경우 이 secret_key는 어떻게 처리되는건가요??
env 파일은 gitignore로 업로드 되지 않고 있지만 django가 실행이 되는 것 같아서요..!
decouple에서 자동 설정이 되는건가요?
검색을 해봐도 명확한 설명이 안나와서 질문드립니다 ㅠㅠ
답변 1
1
안녕하세요.
각종 설정들은 하신대로 환경변수를 통해 주입해주시는 것이 맞습니다. 환경변수를 주입하는 방법으로서 .env 방법을 사용하신 것도 잘 하셨구요. 개발환경에서 환경변수를 세팅하는 가장 대표적인 방법입니다.
git 코드 저장소에는 소스코드만 들어있을 뿐, 설정은 절대 같이 올리지 않습니다. .env 파일을 매 프로젝트마다 수동으로 직접 구성해주셔야 합니다. // 배포 환경에서는 배포 환경에 맞게 환경변수를 지정하는 다양한 방법이 있을 것입니다.
장고 프로젝트 내에서 환경변수를 참조하는 로직에서 지정 환경변수가 없을 때 KeyError가 발생하도록 구성할 수도 있구요. 지정 환경변수가 없을 때, 다른 디폴트값으로서 동작토록 구성할 수도 있습니다.
파이썬에서는 환경변수를 os.environ 을 통해서 접근하는 데, 이는 dict과 유사한 인터페이스를 제공해주므로, .get 메서드를 통해 손쉽게 디폴트 값을 지정할 수 있구요.
혹은 장고에서는 django-environ 라이브러리를 사용하시면, 보다 손쉽게 환경변수를 참조하고 변환하실 수 있습니다.