장고:웹서비스: 두 판 사이의 차이

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동
편집 요약 없음
12번째 줄: 12번째 줄:


<br />
<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 />
<br />

2020년 9월 20일 (일) 23:39 판

장고! 웹 프레임워크! 틀:장고

  1. 장고:개요
  2. 장고:웹페이지설계
    1. 장고:앱
    2. 장고:url
    3. 장고:model
      1. 장고:DB
      2. 장고:모델 필드
      3. 장고:모델의 변경
    4. 장고:view
      1. 장고:클래스형 뷰, 제네릭 뷰
      2. 장고:view 각종 기능
    5. 장고:template
    6. 장고:static. 정적파일 사용하기
      1. 장고:CSS 사용하기
      2. 장고:JS 사용하기
      3. 장고:글꼴 사용
      4. 장고:부트스트랩
    7. 장고:media. 미디어 파일 사용하기
  3. 장고:관리자페이지
  4. 장고:settings.py
  5. 장고:기능구현
    1. 장고:회원관리
    2. 장고:유저
    3. 장고:커스텀 유저
    4. 장고:소셜로그인
    5. 장고:입력받기
    6. 장고:저장된 내용 활용하기
    7. 장고:변수 내보내기
    8. 장고:글쓰기
    9. 장고:페이징(페이지나누기)
    10. 장고:답변쓰기(댓글쓰기)
    11. 장고:추천,즐겨찾기
    12. 장고:새글(최신글) 나타내기
    13. 장고:썸머노트 설치
    14. 장고:네비게이션 바 만들기
    15. 장고:검색기능
    16. 장고:카테고리 만들기
    17. 장고:사진 올리기
    18. 장고:파일 업로드
    19. 장고:이메일app 만들기
    20. 장고:매직 그리드
  6. 장고:웹서비스
    1. 장고:Git
    2. 장고:리눅스에 올리기
    3. 장고:우분투에 올리기(nginx 사용)
    4. 장고:도커로 올리기
  7. 장고:팁

개요

페이지를 만들었으면 서버에 올려두고 서비스를 해야 한다.


서버를 서비스 할 때는 python manage.py runserver 0.0.0.0:8000 의 형태로 실행한다.

(리눅스라면 &을 붙이자. 백그라운드에서 실행하게끔)

0.0.0.0은 어떤 호스트로 실행하든 다 받겠다는 이야기. 그냥 0:8000 으로 두어도 된다.