코딩/Django

04-25 til 장고와 MVT패턴

김은수2 2023. 4. 25. 21:12

나중에 공부해야 하는 것들 

 

xss

csrf

 

목적 

1. 장고란 무엇? mvt패턴은 무엇?

2. 장고에 대한 고민을 해본 적이 있는가?, 장고는 왜 쓰는가

3. 사용하면서 들었던 의문점들 

 

 

장고는 무엇인가

 

완벽주의자 with deadline 를 위한 웹프레임워크

 

Fully loaded 

웹개발에 필요한 도구들을 다 가지고 있다. 

 

개발자와 코더의 갈림길 , 구현에 치중 개발자는 추가로 궁굼함

장고는 뉴스피드관리용으로 개발이됨

그 이후로 발전이 됨 

Sending Mail

ORM

Form 

 

Django Admin

 

Admin(Back Office)

판매 제품 재고 변경

회원계정 복구, 임의탈퇴 상황

금일 매출 또는 오늘 몇명 회원가입

 

채용플랫폼 내 Django 검색

/어드민

/Back Office

 

Django Custom Admin 가능 

 

많은 기능을 '보유한' 풀스택 프레임워크

강력한 ORM 많은 사용자/ 커뮤니티

빠른 개발, 손쉬운 보안 설정 

 

MVT Pattern

Django

데이터model, 데이터 처리 로직view, 사용자 인터페이스 template 구분

즉, 각 구분된 부분의 내용

 

m:  데이터를 정의하는 부분(재료 요리)

v: 요청을 처리하는 부분, 주방, 

T: 사용자에게 보여주는 부분 (장식)

템플릿 엔진을 통해 파이썬 문법을 사용할 수있다. 

 

MVC vs MVT

mvc에서 V는 장고의 템플릿, Controller 부분은 View

보통의 자료들이 mvc패턴으로 설명을 함 

인터넷에 자료를 볼때 햇갈리지 마라 워딩만 바꾼거임

 

유저가 api를 호출 

url 

views.py 안에 있는 view 들 (함수, 클래스)

Model 모델은 테이블을 정의하는 재료의 영역 

 

url 에서 로그인이 되는 화면을 호출을 하고 , 유저의 아이디와 패스워드가 데이터베이스에 들어있는지 

확인하고 그것을 템플릿에 돌려준다. 뷰에서 모델과 템플릿이 위아래로 나눠져있긴하지만

뷰와 템플릿이 상호 작용 

 

 

 

1. 웹브라우저로 요청받으면 url을 확인

2. 처리담당할 view를 결정

3. view는 db처리가 필요한 경우 model 을 통해 처리, html 렌더링이 필요한 경우응답할 html파일을 생성

4. view는 최종적으로 처리된 경과 , HTML 파일을 웹 브라우저를 보내 응답한다. 

 

 

ORM

object Relation Mapping

 

파이썬 문법 dot notation 으로 편하게 데이터베이스에 있는 데이터를 조작

초급레벨에서는 SQL 문법이 별도로 필요하지 않다. 

ORM에서 구현하지 못하는 부분이 분명히 존재하기 때문에 SQL 문법도 필요하긴하다.

 

Sample Project 

 

App은 무엇일까?

기능/웹, 앱 등 개발간 필요 법위로 나누어 관리하기 위해 APP개념 등장

정답은 크게없음

ERD에서 테이블들이 어느 포인트에 들어갈 것인가에 대한 분기점

 

왜 앱 생성시 urls.py 가 생성되지 않는가? 

app은 타 프로젝트에서도 활용될 수 있게 독립적으로 생성 (철학)

즉, 최상단 urls.py 에서도 호출되게 세팅한 수 있다. 

url 제어 방법에는, 10가지정도? 그 이상이 있을 수 있는데 다양한 방법으로도 url제어를 할 수 있도록  선택지를 넓히기 위해서 일부러 urls.py를 일부러 만들어 주지 않는다고 함

 users 라는 app 이 있는경우 다른 프로젝트에서 users라는 app을 사용할 수 있도록 하기 위해

 

이것을 알고 있는게 중요한 게 아니라 이런거에 호기심을 가지는게 중요하다.

 

 

 

 

 

 

 

 

 

'코딩 > Django' 카테고리의 다른 글

장고 과제 해설  (1) 2023.05.02
on_delete 장고의 기능에 대하여  (0) 2023.05.01
로그인의 다양한 방식들  (0) 2023.04.24
장고 심화내용 이번주에 배운것들 정리  (0) 2023.04.23
토큰 세션 특강  (0) 2023.04.21