https://holix.com/course/development-data/UX25
HTTP request/response 에 대해서 배웠었다.
client 가 request를 보내면
server 가 response 를 하는 통신 방식이다.
Django가 server의 역할을 하는 쪽 같다.
파이썬 프로세스 안에 장고 엔진이 있는 것.
장고 엔진 위에 장고 어플리케이션을 올리는 것.
그러니까,
내 기기 위에서 (내 컴터)
로컬 OS 가 돌아가는 거고 (windows 또는 mac os)
그 위에서 python이라는 프로그램이라고 할 수도 있고 process 라고 할 수도 있는, 파이썬이 돌아가는거고
그리고 그 파이썬 안, 파이썬 위에서 장고 엔진이 있는거고,
장고 엔진도 그러니까 파이썬 위에서 돌아가는 프로그램이라고 볼 수도 있는것.
암튼, 장고 엔진 위에서 여러 개의 어플, 브라우저, 프로그램, 서비스 등이 돌아가는 것.
장고 앱이 있는데,
각각의 장고 앱이 MVC를 가지고 있는것.
Model - 데이터를 추상적으로 저장해놓는 방식, 그러니까 DB 같은 것. 데이터를 저장해놓는 모양.
그래서 장고는 기본적으로 SQLite 라는 게 깔린다고 하는데 아주 가벼운 관계형 데이터베이스라고 함. PostgreSQL 이라는 걸 따로 설치해서 장고랑 같이 사용한다고 함.
View/ Template - 사람들, 이용자들이 보는 거를 보여주는 것, 그래서 User Interface랑 관련이 있음.
template 의 경우에는, 홈페이지를 보여주는 것으로 이해를 하자.
Controller / Worker - 데이터를 편집하거나 움직이는 걸 담당, 그래서 worker 라고도 함. worker는 시간 타임라인에 따라서 일을 처리 해주는 거고, controller는 user 의 input에 대해서 처리하는 걸 컨트롤러라고 많이 부름.
장고 프레임워크의 경우에는, 컨트롤러가 View에 들어가 있어서, user 가 view에서 클릭하고 하는 걸 view에서 처리한다고 함.
그래서 template이 보여주는 애들, view가 약간 controller의 역할까지 같이 한다고 함.
그래서, MVC 보다는, MVT 라고, Model, View, Template 에 집중하라고 하는데, 아직은 이 말이 무슨 말인지 모르겠음.
예를 들어서, chatGPT API 를 콜한다고 하면, 코드를 어떤 형태로, 어디에 써도 콜을 할 수도 있지만,
보통은 View에서 한다는 게 일반적인 패턴이다라는 걸 기억하고 넘어간다.
파이썬, 장고는 끌 수 없는 프로세스라고 함.
그러니까, 외부(컴퓨터 밖)에서 어떤 신호가 오면 내부(컴퓨터 안 - 파이썬과 장고가 실행되고 있는 컴터 안)에서는 그 신호를 받으면 어떤 처리를 해줘야 하기 때문에 계속해서 돌고 있어야 한다.
그래서 그걸 runserver 라고 해서 계속 돌아가게 하는 것.
그래서 그럴 때에는 코드를 수정하면 안 된다.
코드를 교체하려면 서버를 끄고, 교체하고, 다시 가동해야 한다.
Django?
- 서버용 프레임워크, 파이썬 패키지
- ORL - Object Relational Mapping : SQL 없이 OOP 만으로 DB 관리 가능. 관계형 데이터베이스로, OOP 라는게, 클래스가 있으면 표가 생기는 느낌인거고 오브젝트/인스턴스가 생기면 그 표가 채워지는 거라고 했었다. 그런데 SQL도 표를 관리하는 것인데, SQL은 거기서 foreign key, primary key 등 표와 표를 연결하는 것이 있다. 그러니까, object를 관계에 따라서 맵핑하는 것, ORL 이라는 것으로 의해서, OOP 만으로도 DB 관리가 된다는 게 SQL의 형태를 띄고 있기 때문인 것.
- URL Routing을 관리함 : URL을 명시적으로 관리하고, 앱별로 모듈화를 할 수 있어서 유연하게 관리함.
- 관리자 GUI(웹에서 바로 접속) 제공한다는 특징
'AI Chatbot 만들다!' 카테고리의 다른 글
Django View 와 URL / DB랑 View 연결 / Django Template (chatroom with messages) (0) | 2024.11.06 |
---|---|
Django Model 작성 / Migration과 결과 확인 / DB 확인 (PostgreSQL의 pgAdmin 4, Django Admin 기능) (0) | 2024.11.05 |
Django 와 PostgreSQL의 연결, 그리고 App 생성 (인생 첫 웹사이트 구축) (0) | 2024.11.05 |
관계형 데이터베이스 및 PostgreSQL (0) | 2024.11.01 |
파이썬 입문 공부 후, 실제 개발을 해볼 수 있는 공부 중 (4) | 2024.10.31 |