본문 바로가기

개발일지/TIL

TIL 23-05-08 DRF 팀 프로젝트

https://antique-cadet-4ba.notion.site/S-A-ace7a0f474264f268a2dbf59f9a7c325

 

S.A.

project name. 술술술

antique-cadet-4ba.notion.site

 

1. DRF 팀 프로젝트 - Poetry 

 문제점

새 프로젝트를 시작하며 poetry를 사용해 보기로 함 

 시도해 본 것들

윈도에서 Poetry 설치하기

# powershell
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

poetry --version 확인 시 에러 발생

 

환경 변수 설정하기

 

 

 경로를 추가한 뒤 시스템 재부팅하기

 

poetry 사용하기 

poetry 최초 시작 시 설정 만들기 

poetry init

 

poetry에서 venv와 requirements 대체하기 

poetry install

 

가상환경 활성화 & 비활성화

poetry shell
exit

 

pip install 대체 

poetry add 패키지 이름

 

python 파일 실행 전 앞에서 붙여주기 

poetry run

ex) python manage.py runserver를 하려면

poetry run python manage.py runserver 사용

 알게 된 점

패키지의 버전별 호환성 문제를 해결해 줄 수 있음.

requirements.txt로 따로 관리할 수고를 줄여준다.

 

 

1. DRF 팀프로젝트 - secrets.json

 문제점

시크릿키 관리를 해본 적이 없어서 방법을 알지 못함 

 시도해 본 것들

팀원분이 알려주신 secrets.json을 활용하기 

 해결 방법

secrets.json파일 생성하기 

# secrets.json

{
    "SECRET_KEY": "내 시크릿 키"
}

 

seetings.py에 추가하기 

# settings.py

# 상단에 추가
import os, json
from django.core.exceptions import ImproperlyConfigured

# SECRET_KEY 위치에 해당 내용 복붙
secret_file = os.path.join(BASE_DIR, 'secrets.json') # secrets.json 파일 위치

with open(secret_file) as f:
    secrets = json.loads(f.read())

def get_secret(setting, secrets=secrets):
    try:
        return secrets[setting]
    except KeyError:
        error_msg = "Set the {} environment variable".format(setting)
        raise ImproperlyConfigured(error_msg)

SECRET_KEY = get_secret("SECRET_KEY") # SECRET_KEY 가져오기

 

.gitignore에 secrets.json을 추가하면 시크릿키를 github에 올리지 않을 수 있다. 

 알게 된 점

시크릿키 관리를 해봐야겠다는 생각을 하면서도 못하고 있었는데 잘 정리된 내용이 있으니 어렵지 않게 가능했다.

프레임워크에 대한 TIL을 잘 작성하지 못하는데 이렇게 작성한 글의 힘을 체감하고 정리의 필요성을 느낀다.