#9 Django-1

박종규·2021년 7월 14일
2

TIL

목록 보기
10/22

Django?

Python으로 만들어진 Web framework

MTV란?

Model : 데이터베이스 테이블 정의 (public 함수로 이루어짐)
View : 로직 처리 (Model로부터 데이터를 가져옴)
Template : 사용자가 보게 될 화면의 모습을 정의

장점 - 사용자 인터페이스로부터 비즈니스를 분리해서
서로 영향 없이 고칠 수 있게 해주는 애플리케이션
(2세대에서 3세대로 넘어오면서 나뉘어짐)

Back-end Workflow

URLconf : 카테고리화
View : Class > Def 단위로 나눠서 설계
Model : ERD를 Model에 입력
(Django에서는 ORM을 도와줌 (MySQL과 Model를 맵핑)

새로운 app 추가 프로세스

1. shell에서 추가

python manage.py startapp "앱 이름"

2. 같은 폴더 안에 있는 view.py에서 output 정의

(.html 파일 업로드)

3. urls.py에 추가

(project/urls.py와 app/urls.py)
project 디렉토리에 있는 urls.py에는 include()에 해당 app urls를 적는다.

app 디렉토리에 있는 urls.py는 해당 app의 view로 연결해준다.

4. DB이용이 필요할 경우, models.py를 생성한다.

class를 저장하고 필드 정보 및 길이 나타내기
(필드값 첫 글자 및 띄어쓸 때 대문자)

5. DB Migration

Migration에 앞서 project/setting.py에 앞서 app명을 추가한다.
(필요없는 app의 경우 #로 주석처리)

makemigrations로 project/migrations에 .py가 생기는데
migration시 DB에 데이터가 어떻게 정리될지 정의한 파일이다.

python manage.py makemigrations

migrate할 경우, 해당 파일이 적용 된다.

python manage.py migrate

git을 배우면서 makemigration -> migrate 의 과정이
git commit > push의 과정과 비슷하다고 생각했다.

0개의 댓글