개발한 환경과 실제 웹사이트에서 많은 차이점들이 있기에 기존의 세팅들을 약간 수정해줘야 합니다.
## settings.py 수정하기
우리가 개발 시 사용했던 secret키와 debug 는 배포에 있어 문제를 일으킬 수 있기에 약간의 수정이 필요합니다
# settings.py
## 배포 전 Git 업로드
# .gitignore 파일을 만들어 다음의 코드를 입력
/project/.gitignore 파일 생성!
그리고 git repository에 업로드해줍니다.
## 배포 전 여러 세팅다.
# Procfile
Manage.py 파일이 있는 위치에 확장자 없이 다음의 파일을 만들고 다음의 코드를 입력해줍니다.
/project/Procfile 파일 생성!
web: gunicorn secondproject.wsgi --log-file -
# gunicorn
그리고 모듈을 하나 설치해줍니다
$ pip install gunicorn
# DB 설정
다음 Heroku에서는 django에서 기본으로 사용하던 sqlite3를 지원하지 않기에 DB 설정을 약간 수정해줘야 합니다.
$ pip install dj-database-url
$ pip install psycopg2-binary
settings.py 에 다음의 코드를 맨 끝에 입력해줍니다.
# Static File 설정
$ pip install whitenoise
settings.py
# 파이썬 관련 라이브러리 설치
$ pip freeze > requirements.txt
앞서 pip install을 통해 이것저것 설치했습니다. 여기 설치한 내용을 호스팅할 서버에서도 설치해야 되기 때문에 관련 목록을 리스트업 해주는 겁니다. 이렇게 리스트업해두면 heroku가 알아서 설치합니다.
# heroku에게 python 버전 알려주기
우리가 만든 프로젝트의 python 버전을 heroku에게 알려줘야 충돌을 줄일수 있습니다.
runtime.txt 라는 파일을 만들고 안에 python 버전을 적어줍시다.
project/runtime.txt 생성!
python-3.7.1
## Heroku 만들기
$ heroku login
$ heroku create
$ git push heroku master
$ heroku run python manage.py migrate
## Allow host 수정
위와 같은 화면이 뜰수 있습니다. 그런 경우 settings.py로 가서 ALLOWED_HOSTS를 수정해줍니다.
ALLOWED_HOSTS = ['*']
이렇게 적어주면 작동합니다.
'Web Programming > Django' 카테고리의 다른 글
PostgreSQL DB Django 프로젝트에서 사용하기 (0) | 2019.03.05 |
---|---|
App 재사용(패키징) (0) | 2019.03.05 |
Blog 보충(로그인 요구, 내가 쓴글) (2) | 2019.02.26 |
소셜로그인 API 활용하기 (0) | 2019.02.26 |
네이버 지도 API 활용하기 (0) | 2019.02.22 |