https://docs.djangoproject.com/ko/3.0/glossary/
장고 용어 설명
https://docs.djangoproject.com/ko/3.0/intro/tutorial01/
튜토리얼 시작
프레임워크
(웹)프레임워크는 웹서비스를 만드는데 필요한 뼈대입니다. 프레임워크를 쓰면 프레임워크가 제공하는 기능을 이용해 웹서비스를 보다 손쉽게 만들 수 있습니다.
MVC / MVT
MVC는 일반적인 프레임워크가 가지는 패턴이며 장고는 MVT 패턴을 가집니다.
https://docs.djangoproject.com/ko/3.0/faq/general/#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names
내용 | MVC | MTV(장고) |
---|---|---|
데이터 | model | model |
(사용자가 보는)데이터의 구현 | view | template |
사용자에게 보여주는 데이터에 대한 로직 | controller | view |
project
서비스명 또는 서비스 자체를 말합니다. 장고를 쓰는 이유가 되겠죠. 프로젝트를 만들면 기본 폴더 및 파일이 생성됩니다.
app
웹 서비스에 추가되는 기능을 말합니다. 블로그, 게시판, 설문 등이 될 수 있습니다. 앱을 만들면 앱 이름으로 된 폴더에 기본 파일들이 생성됩니다.
model
app을 만들면 해당 폴더 안에 models.py 파일이 생성됩니다. 파일에서 코드를 통해 모델(데이터)의 구조를 결정하고 관리할 수 있습니다. 질문에 대한 답변을 받는 설문 기능을 추가한다고 했을 때 질문
, 답변
두 가지 데이터(표와 같은 형식)를 만들 수 있습니다. 질문
에는 질문, 응답 날짜가 있을 수 있고, 답변
에는 질문 번호, 답변, 답변 횟수 등과 같은 항목을 만들 수 있습니다.
view
app을 만들면 해당 폴더 안에 views.py 파일이 생성됩니다. 데이터를 어떻게 보여주고 처리할 것인지에 대한 로직을 짤 수 있습니다. 주로 클래스 안에 http 메소드 함수를 포함하고 있습니다.
template
데이터의 구현 부분입니다.
controller
일반적인 MVC패턴에서 장고 view의 역할을 하는 영역입니다.
wsgi
Web Server Gateway Interface의 약자로 웹서버 - 웹애플리케이션 사이 통신에 대한 사양을 정의합니다.
- https://www.python.org/dev/peps/pep-3333/
asgi
Asynchronous Server Gateway Interface의 약자로 wsgi가 동기식이라면 asgi는 동기, 비동기식 모두를 지원합니다.
- https://asgi.readthedocs.io/en/latest/
- 비동기 프래그래밍이란?(Youtube)