[Django] 장고로 프로젝트 시작하기

2022. 3. 18. 07:45

이번 글은 Django로 프로젝트를 시작하려고 마음먹은 개발 초보자 분들을 위해서 쓰는 글이다.

이미 장고로 개발을 시작하기로 결정했고, 프로젝트를 시작하기 위한 기초적인 설정들이 필요한 사람들을 위해 한단계씩 구체적으로 설명을 해보겠다.

 

1. 파이썬, vscode install 하기

장고는 파이썬 기반의 프레임워크이기 때문에 반드시 파이썬이 컴퓨터에 install 되어 있어야 한다.

내가 파이썬을 설치했는지 아닌지 헷갈린다면, cmd 창에 python 또는 python --verison이라는 명령어를 입력해보길 바란다.

아무것도 나오지 않는다면 python 홈페이지에 들어가서, 자신의 os를 선택한 뒤 install을 하면 된다.

 

2. 폴더를 생성하고 vscode를 켜기

내가 원하는 폴더를 생성하고 그 폴더를 vscode에서 켠다. 

 

3. 가상환경 켜기

가상환경이란? 파이썬의 pip version 관리를 위해 제공되는 버블(bubble)이라고 생각하면 된다.

즉, 우리가 작업할 버블을 만들고, 프로젝트를 켤때마다 그 버블안에 들어가서 작업하겠다, 고 선언을 하는 것이다.

가상환경의 종류에는 conda, virtualenv, pipenv 등이 있는데 개인의 취향에 맞게 선택하면 된다. 

vscode를 새로 켤때마다 가상환경을 켜주어야 한다. 

예를 들어 pipenv를 가상환경으로 사용한다면, 프로젝트 최초 시작시

pipenv --three 라는 명령어로 가상환경을 생성하고,

pipenv shell 이라는 명령어로 가상환경을 키면 된다.

 

4. 장고 install 하기

가상환경을 켰다면, 이제 드디어 django를 install 할 차례이다. 

pip install django

라는 명령어로 장고를 install 하자!

 

5. 장고 프로젝트 생성

장고를 install 했다면 이제 본격적으로 장고 프로젝트를 시작해볼 차례이다.

django startproject 프로젝트명

이라는 명령어로 장고 프로젝트를 시작해보자

프로젝트 명과 생성한 폴더명이 동일할 경우 충돌이 날수도 있다고 하니 다르게 생성하도록 하자!

 

6. app 생성하기

장고는 프로젝트를 기능에 따라 분리할 수 있도록 app을 생성을 도와준다. 

회원가입/로그인을 관리하는 accounts 앱, 게시물을 관리하는 content 앱 등 다양한 앱을 생성할 수 있다. 

명령어는 python manage.py startapp 앱이름 이다. 아래와 같이 앱을 생성해보자.

주의) manage.py 명령어를 자주 입력하게 될텐데, 꼭 manage.py가 있는 폴더에서 명령어를 입력해야 한다. ls 명령어로 하위 폴더를 확인해보자.

 

7. Settings.py 등록

앱을 새로 만들었을 때에는 무조건 settings.py에 가서 앱을 등록해주어야 한다.

INSTALLED_APPS에 우리가 만든 앱을 추가하자. 

 

자 이제 이정도 했다면 장고를 시작하기 위한 기초적인 준비가 완료되었다!

이제 장고가 어떻게 동작하는지 한번 살펴보도록 하자.

 

Model 이란?

데이터베이스에 저장되는 데이터를 정의하는 곳이다!

우리가 어떠한 데이터를 어떠한 field로 받을 것인지 우리는 장고에게 알려주어야만 한다. 

자세한 내용은 코드를 보면서 알아보아야 하는데, 장고는 모델 설계를 쉽고 빠르게 할 수 있는 많은 기능을 내장하고 있으니 걱정하지 말고 프로젝트를 계속하자.

 

한가지 기억해야 할 점은, 반드시 model을 변경하면 migration을 해주어야 한다는 것이다.

우리는 모델을 변변경하면, 변경한 내용을 DB에 반영해주어야 하기 때문이다.

명령어는, 순서대로

python manage.py makemigrations

python manage.py migrate

이며 이를 반드시 입력해주어야지 아니면 runserver에서 에러가 날 것이다.

 

아마 model을 생성하였다면, 장고 admin에서 이를 확인할 수 있을 것이다.

장고 admin은 개발자들, 즉  우리가 효과적으로 모델을 관리할 수 있도록 만들어 준 것이다.

이곳에 들어가면 우리가 만들어둔 모델을 관리하고, 생성하며 삭제할 수 있다.

주소창에 /admin을 추가하여 admin 페이지에 접속해보자.

admin 페이지에 접속하기 위해서는 superuser account가 필요한데, 이는

python manage.py createsuperuser 명령어로 생성할 수 있다.

 

View 란?

view는 쉽게 생각해서 함수들의 모음이라고 생각하면 된다. 

우리의 프로그램이 어떻게 작동할지를 작성한 함수들이 있는 곳이다.

장고 view 함수는 결과적으로 template을 render 한다. 

 

URL이란?

url은 view를 실행시키는 곳이다.

우리가 주소를 입력할 때의 url로 view를 실행시켜서 template을 사용자 화면에 띄우는 것이다.

 

template이란?

html 파일들이 모아져 있는 공간이다.

장고는 매우 효과적인 template 문법을 제공하여 손쉽게 데이터를 사용자 화면에 띄울 수 있다.

 

결론 : 장고는 model, view, url, template이 유기적으로 작동하여 프로젝트를 실행한다.

 

장고로 프로젝트를 시작하는데 도움이 되길 바라며 글을 마친다.

BELATED ARTICLES

more