장고:웹서비스: 두 판 사이의 차이
(새 문서: {{장고}} == 개요 == 페이지를 만들었으면 서버에 올려두고 서비스를 해야 한다. 서버를 서비스 할 때는 python manage.py runserver 0.0.0.0:8000 의...) |
편집 요약 없음 |
||
1번째 줄: | 1번째 줄: | ||
{{장고}} | {{장고}} | ||
== 개요 == | ==개요== | ||
페이지를 만들었으면 서버에 올려두고 서비스를 해야 한다. | 페이지를 만들었으면 서버에 올려두고 서비스를 해야 한다. | ||
9번째 줄: | 9번째 줄: | ||
(리눅스라면 &을 붙이자. 백그라운드에서 실행하게끔) | (리눅스라면 &을 붙이자. 백그라운드에서 실행하게끔) | ||
0.0.0.0은 어떤 호스트로 실행하든 다 받겠다는 이야기. | 0.0.0.0은 어떤 호스트로 실행하든 다 받겠다는 이야기. 그냥 0:8000 으로 두어도 된다. | ||
<br /> | |||
== 호스트 설정 == | |||
장고가 서버에서 서비스 될 때엔 Settings.py 안의 ALLOWED_HOSTS 항목을 설정해 주어야 한다.(아마 보안문제인듯) | |||
그 안에 서버의 아이피를 기입한다.(도메인도 되는지 해보자.) | |||
== settings.py 분리 == | |||
ALLOWED_HOSTS 안에 서버의 아이피를 기입했끼 때문에 localhost로 동작하지 못하게 된다. 이건 서버가 아닌, 작업PC에서 시범사이트를 돌리는 데 문제가 된다. | |||
이를 방지하기 위해 세팅파일을 구분하여 로컬호스트로 동작할 때는 다른 파일로 서버를 동작시켜주어야 한다. | |||
=== 로컬용 세팅파일 만들기 === | |||
아무 이름이나 상관 없다. 만들고 싶은 곳에 로컬용 세팅파일을 만든다. 같은 경로에 만들면 찾기 쉽겠지. | |||
내용은 다음과 같이.<syntaxhighlight lang="python"> | |||
기존 세팅파일의 임포트는 다 해준다. 그리고 아랫 줄 추가.(아님, 그냥 아래 두 줄만으로도 되는지 실험해보자.) | |||
from .settings import * | |||
ALLOWED_HOSTS = []#세팅파일을 불러와, 이 세팅만 덧씌운다. | |||
</syntaxhighlight> | |||
=== 로컬용 세팅파일로 서버 실행 === | |||
기본적인 실행에선 settings.py를 통해 기본 세팅을 받지만, 이 파일을 바꾸어 서버를 실행하는 옵션이 있다. | |||
python manage.py runserver --settings=config.로컬용세팅파일 #기존 세팅파일과 같은 경로에 있는 경우. | |||
위와 같이 실행하면 새로 만든 파일을 세팅으로 받아 서버를 실행한다. | |||
<br /> | |||
== 서버 실행 자동화 == | |||
파일명.sh 파일을 만들어보자. | |||
=== 주의(리눅스로 옮기자.) === | |||
서버가 종료되지 않은 상태에서 터미널이 종료되면 서버 실행 시 Error : That port is already in use. 라는 에러가 뜬다. | |||
이땐 killall python을 실행하고 서버를 실행하면 된다.(이거 말고 핀포인트로 종료하는 방법은 없나;;? | |||
<br /> |
2020년 9월 20일 (일) 23:26 판
장고! 웹 프레임워크! 틀:장고
개요
페이지를 만들었으면 서버에 올려두고 서비스를 해야 한다.
서버를 서비스 할 때는 python manage.py runserver 0.0.0.0:8000 의 형태로 실행한다.
(리눅스라면 &을 붙이자. 백그라운드에서 실행하게끔)
0.0.0.0은 어떤 호스트로 실행하든 다 받겠다는 이야기. 그냥 0:8000 으로 두어도 된다.
호스트 설정
장고가 서버에서 서비스 될 때엔 Settings.py 안의 ALLOWED_HOSTS 항목을 설정해 주어야 한다.(아마 보안문제인듯)
그 안에 서버의 아이피를 기입한다.(도메인도 되는지 해보자.)
settings.py 분리
ALLOWED_HOSTS 안에 서버의 아이피를 기입했끼 때문에 localhost로 동작하지 못하게 된다. 이건 서버가 아닌, 작업PC에서 시범사이트를 돌리는 데 문제가 된다.
이를 방지하기 위해 세팅파일을 구분하여 로컬호스트로 동작할 때는 다른 파일로 서버를 동작시켜주어야 한다.
로컬용 세팅파일 만들기
아무 이름이나 상관 없다. 만들고 싶은 곳에 로컬용 세팅파일을 만든다. 같은 경로에 만들면 찾기 쉽겠지.
내용은 다음과 같이.
기존 세팅파일의 임포트는 다 해준다. 그리고 아랫 줄 추가.(아님, 그냥 아래 두 줄만으로도 되는지 실험해보자.)
from .settings import *
ALLOWED_HOSTS = []#세팅파일을 불러와, 이 세팅만 덧씌운다.
로컬용 세팅파일로 서버 실행
기본적인 실행에선 settings.py를 통해 기본 세팅을 받지만, 이 파일을 바꾸어 서버를 실행하는 옵션이 있다.
python manage.py runserver --settings=config.로컬용세팅파일 #기존 세팅파일과 같은 경로에 있는 경우.
위와 같이 실행하면 새로 만든 파일을 세팅으로 받아 서버를 실행한다.
서버 실행 자동화
파일명.sh 파일을 만들어보자.
주의(리눅스로 옮기자.)
서버가 종료되지 않은 상태에서 터미널이 종료되면 서버 실행 시 Error : That port is already in use. 라는 에러가 뜬다.
이땐 killall python을 실행하고 서버를 실행하면 된다.(이거 말고 핀포인트로 종료하는 방법은 없나;;?