인프런 커뮤니티 질문&답변

hwk님의 프로필 이미지
hwk

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

secret key 관련 질문입니다

작성

·

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 라이브러리를 사용하시면, 보다 손쉽게 환경변수를 참조하고 변환하실 수 있습니다.

hwk님의 프로필 이미지
hwk

작성한 질문수

질문하기