언제 쓸지 모르겠지만...깃 설정과 heroku 디플로이
장고걸즈와 헤로쿠 사이트를 참조하면 어렵지 않다.
로컬/프로덕션 설정 (옜날 방식- 지금 장고 걸즈에 나온게 더 쉬운듯)
세팅을 local environment와 production environment 로 나눈다.
1. 프로젝트에 settings 폴더를 만든 뒤
그 안에
__init__.py (모듈을 만들기 위해)
local.py
production.py
넣는다.
2. 원래 settings.py 를 old_settings.py로 바꾼뒤 안에 있는 내용을 production.py와 local.py에 넣는다.
3. production.py 파일에 들어가 DEBUG = False 로 BASE_DIR = os.path.dirname(os.path.dir(__file__))
4. settings/__innit__.py에서
from .production import *
try:
from .local import * #로컬에서는 사용/ 프로덕션에서는 사용안함 gitignore함
except:
pass
디플로이
0. 헤로쿠cli 설치
1. .gitignore 파일 생성, 아래 내용 추가
venv
*.pyc
staticfiles
.env
config/settings/local.py
2. git init 폴더를 깃에 등록 (* 등록을 지우고 싶으면 del/f .git )
3. git add --all 스테이지에 올림
4. git commit -m"커밋메시지" 커밋함
5. heroku login 로그인 되어있을시 생략함
6. heroku create 사이트이름 -> https://사이트이름.herokuapp.com 이런 형식으로 생성됨
7. git push heroku master ※에러시 heroku config:set DISABLE_COLLECTSTATIC=1 을 한 뒤 다시 PUSH 시도
8. heroku open
9. heroku run bash 나가기 exit;
10. heroku logs
바뀐거 수정할 때
git add --all 스테이지에 올림
git commit -m"" 커밋
git push heroku master
안될때, 장고걸즈 참조 https://djangogirls.gitbooks.io/django-girls-tutorial-extensions/heroku/
mysite/wsgi.py에 아래 내용 추가
from whitenoise.django import DjangoWhiteNoise
application = DjangoWhiteNoise(application)
로컬테스트
1. pip install gunicorn
2. pip freeze > requriements.txt
3. procfile 파일을 생성한 후 내용으로 web: gunicorn config(프로젝트 이름).wsgi --log-file- 을 넣는다.
4. 윈도우에서 실행해 보기 위해서는 Procfile.windows 파일을 만든 뒤 web:python manage.py runserver 0.0.0.0:5000 (참조 https://devcenter.heroku.com/articles/getting-started-with-python#define-a-procfile)
5. heroku local -f Procfile.windows
채널스 사용시 중요한 사항
1. 헤로쿠는 whitenoise를 써야함
2. 장고걸즈에 runtime.txt 버전 확인
3. 레디스를 사용하지 않을것이면 Procfile에 web:python mange.py runserver "0000:$port"로 설정
즉 장고걸즈에서 올리는 방법에 프록파일만 web:python mange.py runserver "0.0.0.:$port"로 설정하면 채널즈를 사용할 수 있다.
'Computer 비관심 > Django' 카테고리의 다른 글
[장고] 실무에서 사용했던 장고 정보 모음 ADMIN위주 (2) | 2018.08.15 |
---|---|
django 가상환경 부터 앱 생성까지 순서 (0) | 2017.08.23 |
통으로 쿼리셋 받기 (0) | 2017.05.10 |
django admin tools 설치 후 설정 (0) | 2017.03.15 |
django 빨리 실행하기 (0) | 2017.03.13 |