프롤로그
이 내용은 Doit! 점프 투 장고 책을 보고 공부하며 정리하는 내용이다.
서버ㆍ개발 환경 분리해야하는 이유
저번 글에서 settings.py 에서 ALLOWED_HOSTS에 서버의 고정 아이피를 입력하였는데, 이렇게 되어 버리면 개발 환경에서 localhost:8000/으로 접속을 할 수가 없다. 그렇다고 해당 칸을 비워버리면 서버가 운영이 되지 않는다. 그래서 서버환경과 개발환경을 다르게 설정해야한다.
서버ㆍ개발 환경 분리하기
(1) settings 디렉터리 생성하기
처음 장고 프로젝트에서 이렇게 준비되어 있을 것이다.
settings라는 폴더를 생성하고, setting.py의 파일은 settings 폴더 안에 이동 후 "base.py"로 변경한다.
추가적으로 빈 파일 "local.py"와 "prod.py"를 각각 생성한다.
이 후, base.py 에서 BASE_DIR 란에 맨 뒤에 .parent 를 입력한다.
(2) local.py 작성하기
local.py 칸에는 다음과 같이 입력한다.
(3) prod.py 작성하기
다음 prod.py 는 다음과 같이 입력한다. 단, ALLOWED_HOSTS는 저번 글
https://taesan-smj.tistory.com/12
(6)에서 생성한 고정 아이피를 입력한다.
(4) 개발 환경에서 settings 설정하기
$ python manage.py runserver --settings = "프로젝트 이름".settings.local
을 개발환경에서 입력하여 서버를 구동시킨다. 이렇게 되면 개발환경에서 서버를 열 수 있다.
근데 저렇게 서버 열때 마다 쓰면 귀찮지 않을까...?
$ set DJANGO_SETTINGS_MODULE = "프로젝트명".settings.local
$ python manage.py runserver
을 입력하면 된다. DJANGO_SETTINGS_MODULE 라는 환경 변수를 이용하는 것이다.
이후 서버를 종료하고,
$git add *
$ git commit -m "서버 개발환경 분리"
$ git push
을 한 후, 서버 환경으로 가자.
(5) 서버 환경에서 settings 설정하기
$ git pull
로 아까 작업했던 내용을 가져오고 난 후,
$ python manage.py runserver --settings="프로젝트명".settings.prod 을 입력한다
다시 서버를 ctrl+C를 입력한 후
$set DJANGO_SETTINGS_MODULE = lion.settings.prod
$python manage.py runserver
을 입력해서 서버환경에서도 서버가 열리는 지 확인해보자.
잘 열린다.
만약 서버가 안 열린다면,
settings/base.py 에서 DEBUG 부분을 FALSE로 바꾼 후에, git push/git pull을 사용해서 깃에 등록후 다시 서버를 열어보자.
마무리
이걸로 개발환경과 서버 환경 분리가 완료되었다. 이제 개발환경에서 개발하면서 서버와 혼동될 일은 없다.
'웹 개발' 카테고리의 다른 글
[장고] JWT 사용하기 #4 (0) | 2024.02.10 |
---|---|
[장고] 장고로 JWT 사용하기 #3 (1) | 2024.01.31 |
[장고] 회원가입 DRF이용하여 만들기 #2 (0) | 2024.01.30 |
[장고] 프로젝트 Model 작성하기 #1 (1) | 2024.01.29 |
[웹 개발] AWS Lightsail로 서버열기 (장고) (1) | 2023.12.24 |