Programming Blog

5. Django 프로젝트 (1) 본문

Python

5. Django 프로젝트 (1)

Go-ong 2019. 1. 24. 09:37

장고 프로젝트 시작


장고의 기본 골격을 만들기 위한 스크립트를 실행한다.

장고에서는 디렉토리와 파일명이 매우 중요하다. 파일명을 마음대로 변경해서는 안되며

다른 곳으로 옮겨도 안된다. 장고는 중요한 것들을 찾을 수 있게 특정한 구조를 유지해야 한다.


모든 작업은 가상환경 안에서 해야 한다. 명령 실행 창에 (myvenv)가 보이면 가상환경이 활성화 된 것이다.

가상환경이 실행되어 있지 않다면,

1
myvenv\Scripts\activate 

cs

위의 명령을 실행하여 가상환경을 실행시켜 준다.


1
dt-admin.py startproject mysite .
cs

위의 명령에서 .(점) 은 현재 디렉토리에 장고를 설치하라고 스크립트에 알려주기 때문에 반드시 작성해야한다


dt-admin.py 명령은 스크립트로 디렉토리와 파일들을 생성한다. 스크립트 실행 후에는 아래와 같이 새로 만들어진 디렉토리 구조를 볼 수 있다.

1
2
3
4
5
6
7
dt
├───manage.py
└───mysite
        settings.py
        urls.py
        wsgi.py
        __init__.py
cs


위에서 manage.py는 스크립트이고, 사이트 관리를 도와주는 역할을 한다. 이 스크립트로 다른 설치 작업 없이
컴퓨터에서 웹 서버 시작이 가능하다.


settings.py는 웹사이트 설정이 있는 파일이다.


urls.py 파일은 urlresolver가 사용하는 패턴 목록을 포함하고 있다.

앞에서 편지 배달부가 어느 곳에 편지를 배달해야 하는지 판단하기 위한 패턴 목록이다.


설정 변경


mysite/settings.py를 에디터를 통해 파일을 열고 
TIME_ZONE을 찾아서 'UTC' 를 다음과 같이 'Asia/Seoul'로 변환한다.


mysite/settings.py

1
TIME_ZONE = 'Asia/Seoul'
cs


그리고 정적파일 경로를 추가한다.(다음에 CSS파일 경로를 추가하기 위해)

파일의 끝에 STATIC_URL항목 아래에 


mysite/settings.py

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

다음과 같이 추가한다.


그리고 ALLOWED_HOSTS가 비어있으면 애플리케이션 배포 시 PythonAnywhere의 호스트 이름과 일치하지 않으므로 다음과 같이 변경한다.


mysite/settings.py

1
ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com']
cs


데이터베이스 설정하기


이미 mysite/settings.py 파일 안에 설치 되어있다.


mysite/settings.py

1
2
3
4
5
6
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
cs


만들기 위한 프로젝트에 데이터베이스를 생성하기 위해 콘솔 창에서 아래 코드를 실행해야 한다.


1
python manage.py migrate
cs

이 명령을 실행하기 위해서는 dt디렉토리 안에 있는 manage.py가 필요하다.


모든 설정이 끝났고 프로젝트 디렉토리(dt)에 manage.py 파일이 있어야 하고 콘솔에서 

1
python manage.py ruserver
cs

위의 명령을 실행하여 웹 서버를 바로 시작한다.


작동하는지 확인하기 위해 브라우저를 열어 http://127.0.0.1:8000/ 을 입력하면 된다.


다음과 같은 화면이 보이면 웹 서버를 활용하여 첫 웹 사이트가 구축된 것이다.


이 상태에서는 웹 서버가 들어오는 요청을 수신 대기하기 위해 지속적으로 실행 중이어서 다른 명령은 실행되지 않는다.

웹 서버가 실행되는 동안 추가 명령을 입력하려면 새 터미널 창을 열고 virtualenv를 활성화 시켜야 한다.


웹 서버를 중지하려면 실행중인 창으로 다시 전환하여 Ctrl + C를 누르면 서버 중지가 된다.

'Python' 카테고리의 다른 글

6. 장고 관리자  (0) 2019.01.24
5. Django 프로젝트 (2)  (0) 2019.01.24
4. 장고 실행을 위한 가상환경  (0) 2019.01.24
3. Django(장고)란?  (0) 2019.01.23
2. 파이썬 시작  (0) 2019.01.22
Comments