Open hoyeon94 opened 3 years ago
제가 지난 이슈에도 답글남겼었는데 cli 조사하시면서 cli가 무엇이며 어떨때 어떻게 사용한다 간단하게 공유 부탁드렸는데 해주실 수 있나요?
아 넵 CLI(Command Line Interface)는 그냥 서버 운영을 도와주는 명령어 프로그램을 만든다고 생각하시면 될 것 같고, django의 manage.py에 해당한다고 볼 수 있을 것 같네요!
예를 들어, 저희가 mongo db의 모든 내용을 백업하는 기능과 모든 내용을 삭제하는 기능이 필요하다고 할 때, flush_db.py, backup_db.py 이렇게 두 개의 스크립트 파일을 만들어서 실행시킴으로써 관리할 수도 있지만
cli프로그램을 만들어서
python3 manage.py flush_db
python3 manage.py backup_db
python3 manage.py --help
Usage: manage.py [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
flush_db remove all contests
backup_db backup all contests
이런 식으로 하나의 명령어 프로그램으로 만들면 관련된 기능들을 통합해서 관리하기 편해질 것 같습니다!
Django에서 manage.py라고 하셔서 바로 이해가됐습니다 ㅎㅎㅎ 하여 django에서 manage.py가 어떻게 구성되어있는지 까보니 cli 관련해서는 mangement라는 패키지를 만들어서 그 안에서 전부다 관리하고있네요. 저희도 후에 manage.py 파일 하나로만 구성하기엔 코드가 지저분해질 수 있으니 cli하나당 분리해보는건 어떨지 한번 말씀드려봅니다.
좋은 것 같습니다!! 다만 이것도 저번 회의 때 경민님과 app/init.py에 있는 init_db 함수 위치에 대해 논의했던 것과 비슷한 맥락으로
이후에 command가 많아졌을 때 조금 더 고민해보고 결정하는 게 좋을 것 같네요!
What
click 모듈을 이용하여 CLI 사용 방법 변경
Description
1. flask cli -> click
2. FLASK_CONFIG 환경변수 선언방식 변경
3. 사용 예시
관련 PR 피드백 부탁드립니다.