Hayden's Archive

[Django] 장고 기본 구조 만들기 / settings.py 수정 / 장고 웹 서버 실행 본문

Study/Python

[Django] 장고 기본 구조 만들기 / settings.py 수정 / 장고 웹 서버 실행

_hayden 2020. 11. 25. 15:46

참고 : 장고걸스 튜토리얼 tutorial.djangogirls.org/ko/

 

들어가며 · HonKit

1차 : 2015. 10. 1. 이수진, 함기훈, Jay Park, 조혜선, 정광윤, 임정훈, 문지영, 김휘경, 송석리, 여형석, 심혜민

tutorial.djangogirls.org

 

가상환경에서 작업하므로 터미널에서 가상환경이 활성화되어 있는지 확인하고 시작하자.(아래의 (myvenv)처럼 가상환경이 보여야 한다.)

활성화되지 않았을 경우 가상환경 활성화 방법은 지난 포스팅( hayden-archive.tistory.com/395 ) 참고

 

장고의 기본 골격을 만들어주는 스크립트를 실행하자.

맨 끝의 점을 꼭 빼먹지 않도록 한다. 현재 디렉토리에 장고를 설치하라고 스크립트에 알려주는 축약된 표시이다.

$ django-admin startproject mysite .

 

아래와 같이 mysite 폴더와 manage.py가 있는 것을 확인할 수 있다.

(myvenv 폴더는 이전에 설치했던 가상환경이다.)

 

hierarchy는 다음과 같다.

manage.py 사이트 관리를 도와주는 스크립트. 이 스크립트로 다른 설치 작업 없이 컴퓨터에서 웹 서버 시작 가능
settings.py 웹사이트 설정이 있는 파일
urls.py urlresolver가 사용하는 패턴 목록 포함

 

 


mysite/settings.py을 고쳐보자.

- 현재 시간을 설정

TIME_ZONE = 'Asia/Seoul'

 

- 정적 파일 경로 추가

: STATIC_URL 항목 바로 아래에 STATIC_ROOT를 추가

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

 

 

- 애플리케이션을 배포할 때 PythonAnywhere의 호스트 이름과 일치하지 않으므로 다음 설정을 아래와 같이 변경

이 부분을 

이렇게 바꾼다.

ALLOWED_HOSTS = ['localhost', '127.0.0.1', '.pythonanywhere.com']

 

- 데이터베이스 설정

데이터베이스 소프트웨어로 SQLite3가 mysite/settings.py 파일 안에 이미 설치되어 있다. 일단 그냥 두자.

(SQLite 데이터베이스는 기본 장고 데이터베이스 어댑터)

 

 


데이터베이스를 생성하기 위해서 터미널에서 다음 코드를 실행 (이 때, 주의할 점 : manage.py가 있는 디렉토리에 가서 명령을 실행해야 한다.)

$ python manage.py migrate

 

그러면 이렇게 db.sqlite3가 생겨있는 것을 볼 수 있다.

 

이제 아래의 코드로 웹 서버를 실행해본다. (마찬가지로 manage.py가 있는 디렉토리에 가서 명령을 실행해야 한다.)

$ python manage.py runserver

 

그러면 localhost 8000포트로 접속했을 때 다음과 같은 화면이 뜬다.

DEBUG=True로 되어 있기 때문이라고 한다.

 

mysite/settings.py에서 DEBUG=False로 변경해보고 서버를 가동해보면 아래처럼 404 화면이 뜬다.