이번 블로깅에선 Django 프로젝트를 생성해보겠습니다.
환경은 Windows 10, VScode를 사용합니다.
DB는 MySQL을 사용할 예정이고, Django Rest Framework의 Serializer를 중점으로
백엔드 API 설계/작성 방법을 다룰 예정입니다.
Git Bash를 설치하시면 windows의 VScode에서 python 터미널을 사용할 수 있습니다.
Ctrl + ` 버튼(숫자 1 왼쪽버튼) 누르시면 터미널 창이 뜨고,
터미널 창 우측 상단의 +버튼 옆의 아래 화살표를 누르시면 터미널 환경을 변경 할 수 있습니다.
Git Bash 선택하시면 Python 명령어 사용 가능합니다!
python -m venv [가상환경 이름]
명령어를 입력하면 잠시 후에 입력한 이름의 폴더가 생성됩니다.
source [가상환경 이름]/bin/activate - mac
source [가상환경 이름]/Scripts/activate - windows
가상환경이 실행되면 (가상환경 이름) 문구가 명령 줄 왼쪽 상단에 나타납니다!
pip install django
django-admin startproject [프로젝트명]
프로젝트 폴더가 생성 됩니다!
cd [프로젝트명]
현재 폴더에는 프로젝트 루트폴더만 존재하고있습니다.
장고는 주로 기능에 따라 폴더를 분류합니다. 기능에 따른 폴더를 앱(app)이라고 부릅니다.
python manage.py startapp [앱 이름]
앱을 생성하면 앱 이름으로 폴더가 생성됩니다. 기존 루트폴더와는 구성이 약간 다릅니다.
대략적으로 기본 파일의 역할에 대해 설명해드리면
루트폴더의 settings.py
앱 폴더의 views.py
루트 폴더의 urls.py
앱 폴더의 models.py
앱 폴더의 tests.py
데이터 베이스 설정값 반영
python manage.py migrate
첫 프로젝트 생성후 migrate를 수행하면 장고에서 디폴트로 제공되는 테이블들이 생성됩니다.
이후에는 models.py에 새로운 모델을 작성하는것은 물론이고,
기존에 작성된 모델을 삭제, 수정할 때 수행해야 합니다.
migrate를 하기 위해선 migrations 파일이 필요하기 때문에,
첫 프로젝트 생성을 제외하고는 모델에 변경사항이 있으면
python manage.py makemigrations => python manage.py migrate
migrate를 하면 모델에 작성한 내용이 DB에 전달됩니다!
현재 default DB인 sqlite3을 사용하기 때문에 폴더 내에 db.sqlite3 파일이 생성됐습니다.
서버 실행
python manage.py runserver
해당 명령어를 치면 local 서버가 작동됩니다.
터미널의 http://127.0.0.1:8000/를 Ctrl버튼 + 마우스 왼쪽 클릭하시면
장고 기본 서버가 작동되는것을 확인하실 수 있습니다!
이후 서버 종료는 Ctrl + c 버튼을 누르시면 됩니다!
여기까지 장고 프로젝트/앱 생성 과정이였습니다.
다음 포스팅에서는 사용 DB를 MySQL로 변경하고 간단한 유저 모델과 유저 모델을 참조하는 게시판 모델을 만들어 MySQL에 테이블을 생성해보겠습니다.
또한 Django Rest Framework를 이용해 모델을 serializing 하고, CBV를 생성해 회원가입, 글 작성 기능을 수행해보겠습니다.