장고 - 북마크 프로젝트_배포(heroku)

1. heroku 다운로드 및 설치

2. 추가 모듈 설치

경로 : bookmark_project > pip3 install [모듈명]

  • dj-database-url : 데이터베이스 관련 옵션을 변수로 쉽게 접근할 수 있게 해주는 유틸리티
  • gunicorn : wsgi용 미들웨어 –> 웹서버와 장고 사리의 다리 역할
  • whitenoise : static 파일 서빙용 미들웨어
  • psycopg2-binary : postgreSQL용 드라이버



3. requirements.txt 파일 생성

1
& pip freeze > requirements.txt

4. 모듈 설정

경로 : bookmark_project > config > settings.py

  • DEBUG = False
  • ALLOWED_HOSTS = [‘*’]
  • MIDDLEWARE = [ …, ‘whitenoise.middleware.WhiteNoiseMiddleware’, ]
  • import dj_database_url
    DATABASES[‘default’].update(dj_database_url.config(conn_max_age=500)
  • STATIC_URL = ‘/static/‘
  • STATIC_ROOT = os.path.join(BASE_DIR, ‘staticsfiles’)

5. Procfile 텍스트 파일 생성 및 코드 작성

경로 : bookmark_project > Procfile

  • wsgi로 gunicorn 설정
    web: gunicorn config.wsgi

6. runtime.txt 파일 생성 및 코드 작성

경로 : bookmark_project > runtime.txt

  • app을 어떤 파이썬 버젼으로 작동시킬지 runtime을 정해준다.
    python-3.7.0

7. heroku 로그인

heroku login (bookmark_project 디렉토리 위치)

8. git 연동

  • .gitignore 파일 생성 (bookmark_project 디렉토리 위치)
  • .gitignore 파일 내 코드 작성

    1
    2
    3
    4
    5
    *.pyc
    *~
    /venv
    db.sqlite3
    .DS_Store
  • git init > git add -A . > git commit -m 'deploy using heroku' (bookmark_project 디렉토리 위치)

9. heroku app 생성

heroku create chk-bookmark (bookmark_project 디렉토리 위치)

10. heroku에 업로드

git push heroku master (bookmark_project 디렉토리 위치)

11. DB 초기화

heroku run python3 manage.py migrate (bookmark_project 디렉토리 위치)

12. 관리자 비번 만들기

heroku run python3 manage.py createsuperuser (bookmark_project 디렉토리 위치)

13. heroku를 통한 사이트 확인

heroku open (bookmark_project 디렉토리 위치)