
django는 파이썬 기반의 오픈 소스 웹 어플리케이션 프레임워크이다. 파이썬 기반이기 때문에 파이썬을 설치해야 한다. 다음의 링크에서 최선 버전의 파이썬을 설치한다.
https://www.python.org/
Spring Tools Suite에서 pydev를 설치하면 쉽게 django프로젝트를 생성할 수 있지만 개발 툴 설정하는 과정이 복잡하고 시간도 오래 걸려서 필자의 경우는 코드 편집기를 Visual Studio Code를 사용하였다. 다음의 링크에서 해당 프로그램을 설치할 수 있다.
https://code.visualstudio.com/
파이썬 설치가 완료되면 명령 프롬프트를 실행하여 다음의 명령어로 django프레임워크를 설치한다.
pip install django
원하는 위치에 작업공간 폴더를 생성한 후 django프로젝트를 생성하기 위해 다음의 명령어를 입력한다.
python -m django startproject [프로젝트명]
Visual Studio Code에서 폴더 열기를 누른 후 프로젝트 폴더를 열고 명령 프롬프트를 실행한 후 다음의 명령어로 데이터베이스이 기본 테이블을 생성한다.
python manage.py migrate
프로젝트 폴더에서 명령 프롬프트를 실행하여 다음의 명령어롤 입력하여 프로젝트의 django app을 설치한다.
python manage.py startapp [앱이름]
앱 설치가 완료되면 [프로젝트명]/settings.py파일을 열어 다음과 같이 설치한 앱을 설정한다.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'[앱이름]' # 설치한 앱의 이름을 추가
]
Spring프레임워크는 MVC패턴을 따르는 것 처럼 django프레임워크는 MTV패턴을 따른다. 여기서 M이 의미하는 것은 template이고 MVC패턴에서의 View처럼 사용자에게 보여지는 페이지를 의미한다. [프로젝트명]/settings.py파일을 열어 다음과 같이 코드를 작성하여 templates폴더의 경로를 설정한다.
BASE_DIR = Path(__file__).resolve().parent.parent # 해당 코드 밑에
TEMPLATE_DIR = os.path.join(BASE_DIR,'[앱이름]/templates') # template 경로 추가
설치된 앱 폴더 안에 view.py파일에서 MVC패턴에서 Controller와 같은 역할을 담당하는 View를 설정할 수 있다. 해당 파일에서 다음의 코드를 추가한다.
def index(request):
return render(request,'index.html')
[프로젝트명]/urls.py파일에서 다음과 같이 작성하여 해당 경로로 접속하면 view.py파일에 정의한 함수가 동작하도록 한다.
from django.contrib import admin
from django.urls import path
from [앱이름] import views # 추가
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index) # '/'으로 접속하면 views.py의 index함수 실행
]
설치된 앱 폴더 안에 templates폴더를 생성한 후 해당 폴더 안에 index.html파일을 생성하여 다음과 같이 작성한다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<h1>hello django!</h1>
</body>
</html>
프로젝트 폴더에서 명령 프롬프트를 실행하고 다음의 명령어를 입력하여 프로젝트를 실행한다.
python manage.py runserver