Back-End/Django

[ Django ] 장고 프로젝트의 기본

psy_er 2021. 10. 25. 01:33
728x90

[ Django ] 장고 프로젝트의 기본

Request와 Response 기능을 웹 프레임 워크가 하는데, Django는 프레임 워크를 자동으로 실행시켜 개발자가 웹 개발에 온전히 집중할 수 있도록 도와준다.

 

Request / Response

 

Request : 클라이언트가 서버에 요청하는 것

Response : 서버가 클라이언트의 요청에 응답하는 것

 

 

Django project 작동 구조

 

MTV 패턴 : 데이터 구조, 데이터 모양, 데이터 로직 관리를 분리해 개발한다.

 

URLS : 요청 URL 기준으로 HTTP 요청을 적절한 뷰(view)로 보내준다. view 함수를 이용해 path를 설정하기도 한다.

 

View : HTTP 요청, HTTP 반환 처리 함수 주로 models.py와 함께 연동해 데이터베이스를 가져오는 역할을 하기도 한다.

 

Model : 데이터 구조 정의, 데이터 베이스 기록을 관리(추가, 수정, 삭제)하고 데이터 베이스에 정보를 요청한다.

 

Template : 웹 페이지에서 출력할 모습을 정의하는 html 텍스트 파일이다.

 

 

728x90

 

Django project 각종 파일 역할

 

settings.py : Django project의 환경 및 구성을 저장한다. 환경 설정이 어떻게 동작하는지 확인한다.

 

urls.py : Django project의 URL 선언을 저장한다. Django로 작성된 사이트의 목차이다.

 

migration : 데이터베이스에 모달이 추가되었을 때 적용시키는 변화를 cmmer venv에 기록한다.

 

(venv) python manage.py make migrations
(venv) python manage.py migrate
(venv) python manage.py runserver

 

SQLlite3 : 데이터베이스 관리 시스템으로 중소형 프로젝트의 데이터베이스 관리에 적합하다.

 

manage.py : 명령을 내린다.

 

 

728x90

 

 

Django App 생성

 

앱은 웹 페이지의 기능을 나타낸다.

 

앱을 생성하려면 cmmer에 다음의 명령을 내린다.

(venv) python manage.py startapp App1
(venv) python manage.py startapp App2

 

 

데이터베이스

 

데이터를 저장한다. 장고 프로젝트에서는 데이터베이스가 모델로 구현된다.

우리는 데이터베이스를 활용하기 전에 몇 개의 테이블이 필요한지, 몇 개의 필드가 필요한지 생각해볼 필요가 있다.

 

 

Table : 데이터 세트를 의미하고 User Table, Post Table, Comment Table 등이 있다.

Field : 필드는 이름이다. 모달 클래스의 속성으로 모달 필드라고 부른다.

Id : Table 간 관계를 형성하는데 필요하다.

 

 

728x90

 

 

Models

 

Django의 데이터 저장 단위이다. 모델을 생성할 때마다 cmmer에 다음 명령을 내려줘야 한다.

(venv) python manage.py makemigrations
(venv) python manage.py migrate

 

1. 모델 생성

models.py에 모델을 작성한다.

 

2. admin.py를 열어 모델을 등록한다.

from .models import (모델이름)

admin.site.register(모델이름)

 

728x90