Hayden's Archive
[Django] 장고 기본 구조 만들기 / settings.py 수정 / 장고 웹 서버 실행 본문
참고 : 장고걸스 튜토리얼 tutorial.djangogirls.org/ko/
가상환경에서 작업하므로 터미널에서 가상환경이 활성화되어 있는지 확인하고 시작하자.(아래의 (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 화면이 뜬다.