Server/Django project 1 - shopping mall

1. Structure of django framework

개발자킹콩 2020. 9. 15. 17:00

핵심 : model 계층, template 계층, view 계층,  (MVC 계층, MTV계층)

핵심이 되는 아래의 3가지를 쉽게 사용하도록 제공해준다. 
모델 계층 : 데이터를 정의한다!

템플릿 계층 : 동작된 결과로 무엇을 보여줄 것인가!

뷰 계층 : 데이터를 갖고 어떤 동작을 한다!


model 계층 :

데이터 베이스와 연동하는 과정이며, 기본적으로 데이터 베이스에 데이터를 R/W 할 때는

SQL이라는 문법을 사용해야 한다. but 장고에서는 모델 계층의 python 클래스로 만들고
그것을 연결만 해주면 함수만 사용해서 자동으로 SQL을 생성할 수 있다.
생성하는 SQL을 볼 필요도 없고, 데이터를 저장하고 싶으면 save함수만 호출하면 저장된다. 

이런 것들을 제공하는 계층이 모델 계층이다.
중요한 것은 프레임 워크에서 클래스만 만들면 SQL형태로 내부적으로 만들어주고, 생성도 해준다.
직접 데이터베이스를 만져주지 않아도, 프레임워크 안에서 해결 가능하다.
데이터를 정의하고 사용하는 모델 계층이 있다.  물론 모든 것을 해결해주지는 못하기에, 

스스로 데이터 베이스를 작성해서 연동하는 심화 방법도 존재한다.


template 계층 :

디자이너에게 친숙한 문법을 제공하는 것 --> HTML 코드이다.
HTML 코드 안에서 사용할 수 있는 문법들이 템플릿 계층이다. 
내가 원하는 데이터를 html로 표현하고 싶은데 

그 안에서 변수나 반복문을 사용하고 싶은데 
그것을 표현할 수 있도록 별도의 언어로 지원해주고 있다. 



view 계층 :

url parsing부터 request, response까지 다 해준다.

특정 웹사이트 url에 접근하면, 어떤 함수를 호출하는 것까지 지원한다. 

여기서 이것을 지원 안 해주면 url을 직접 분석해서,
함수를 호출해야 하지만 장고는 다 지원해준다.
경로와 함수만 지정해주면, 경로로 들어왔을 때 그 특정 함수를 자동호출 해준다.
path('articles/2003/', views.special_case_2003),
path('articles/<int:year>/', views.year_archive),  

# 해마다 요청하는 게 다를 경우, 변수로 추가 가능하다.
path('articles/<int:year>/<int:month>', views.year_archive),

 


[참고]
docs.djangoproject.com/en/3.1/

 

Django documentation | Django documentation | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

 




 

이상! 오늘도 감코!