종종 장고 secret키 관리가 어려울 때가 있다.
github에 푸쉬할 때 settings.py 내부에 secret키가 있어 아래와 같은 경고 메일이 날라오기도 한다.
Django Secret Key exposed on GitHub
아래의 글은 이를 해결하기 위한 방법을 정리해둔 글이다.
1. 동적 변수 할당
이거 나중에 작성할게요~
2. django-dotenv 사용하기
django-dotenv는
일단 먼저 django-dotenv를 pip나 pipenv를 이용해 다운받아준다.
pip install django-dotenv
# 또는
pipenv install django-dotenv
manage.py가 있는 디렉토리에 .env 파일을 만들어 준다. 그리고 .gitignore에 .env를 추가해준다.,
원하는 변수명에 암호키를 저장해준다.
manage.py에 import dotenv해주고 main에 main() 윗 줄에 dot.read_dotenv()를 작성해준다.
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
import dotenv
def main():
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == "__main__":
dotenv.read_dotenv()
main()
아래와 같이 사용하면된다.
import os
secret = os.environ.get("MAILGUN_USERNAME")
#secret = os.environ.get("변수명")
'Web Programming > Django' 카테고리의 다른 글
[Django] Admin 등록 방법 (0) | 2020.12.02 |
---|---|
[Django] 프로젝트에 등록되어 있지 않은 파일에서 장고 사용하기 (0) | 2020.12.02 |
[pipenv] Your dependencies could not be resolved. (0) | 2020.11.27 |
[Django] 장고 쿼리셋 파헤치기(Eager Loading) (0) | 2020.11.27 |
ImproperlyConfigured Error (0) | 2020.11.16 |