[django] django 시작하기

호이·2023년 4월 24일

django

목록 보기
1/2

1. 개발 환경 구축

django는 파이썬 기반의 오픈 소스 웹 어플리케이션 프레임워크이다. 파이썬 기반이기 때문에 파이썬을 설치해야 한다. 다음의 링크에서 최선 버전의 파이썬을 설치한다.
https://www.python.org/

Spring Tools Suite에서 pydev를 설치하면 쉽게 django프로젝트를 생성할 수 있지만 개발 툴 설정하는 과정이 복잡하고 시간도 오래 걸려서 필자의 경우는 코드 편집기를 Visual Studio Code를 사용하였다. 다음의 링크에서 해당 프로그램을 설치할 수 있다.
https://code.visualstudio.com/

파이썬 설치가 완료되면 명령 프롬프트를 실행하여 다음의 명령어로 django프레임워크를 설치한다.

pip install django

2. 생성하기

원하는 위치에 작업공간 폴더를 생성한 후 django프로젝트를 생성하기 위해 다음의 명령어를 입력한다.

python -m django startproject [프로젝트명]

Visual Studio Code에서 폴더 열기를 누른 후 프로젝트 폴더를 열고 명령 프롬프트를 실행한 후 다음의 명령어로 데이터베이스이 기본 테이블을 생성한다.

python manage.py migrate

3. 개발하기

1. 앱 설치하기

프로젝트 폴더에서 명령 프롬프트를 실행하여 다음의 명령어롤 입력하여 프로젝트의 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',
    '[앱이름]' # 설치한 앱의 이름을 추가
]

2. template 경로 설정하기

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 경로 추가

3. hello django! 출력하기

설치된 앱 폴더 안에 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>

3. 실행하기

프로젝트 폴더에서 명령 프롬프트를 실행하고 다음의 명령어를 입력하여 프로젝트를 실행한다.

python manage.py runserver
profile
기억하기 싫어서 기록하는 작은 공간

0개의 댓글