반응형
장고란?
Django는 파이썬 Web Framework 중 가장 사랑받는 Full-Stack Framework로 인스타그램, NASA, 우리가 사용할 댓글 관리 서비스인 Disqus 등에서 사용하고 있다.
Full-Stack-Framework는 웹 서비스 개발에 필요한 모든 요소들이 한 곳에 모여있는 종합선물세트이다.
장고의 구조와 MTV 패턴
아래 그림은 간단히 만들어 볼 Django 폴더의 구성트리이다.
수정하는 순서는 url.py > views.py > index.html 순이다.
-
- main이라는 앱을 만들 것
- Settings에서 설치되어 있는 앱 목록에 main 추가
- main 추가 작업을 하지 않으면 앱이 구동하지 않는다.
- 여러 개의 앱을 만들 경우 모두 Settings에 등록한다.
- url.py에서 사용자가 어떤 url을 사용하여 들어오느냐에 따라 어떤 화면을 보여줄지 결정
- path('', index)
- 사용자가 뒤에 무언가 붙지 않고 있는 그대로의 url을 입력하고 들어왔을 경우 main/views.py 파일 안에 index라는 함수를 연결시켜 주겠다는 뜻이다.
- index함수는 index.html과 연결시켜줄 것이다.
- path('', index)
- mysite > main > view.py에서 사용자가 index.html을 볼 수 있게끔 연결
- def index(request): return render(request, 'main/index.html')
- mysite > main > templates > main > index.html 을 만들어서 Templat을 연결
- Settings에서 설치되어 있는 앱 목록에 main 추가
- main이라는 앱을 만들 것
MTV
Django는 MVC 모델을 MTV라고 부른다.
용어가 바뀌었을 뿐이지 기본적인 개념은 같다.
Java-Spring Model - DB 설계 모델 View - 사용자에게 보여지는 화면 Control - 전체 컨트롤 |
Python - Django Model - DB 설계 모델 Template - 사용자에게 보여지는 화면 View - 전체 컨트롤 |
이해가 잘 되지 않았던 구조였는데 mysite > main 에서 models.py, views.py, template가 MTV 역할을 한다고 생각하면 된다.
(빨간색으로 표시된 부분은 설계에 따라 작동하지 않을 수도 있다.)
Model - DB와 연결된 Python Class
Template - 사용자에게 response될 Client View
View - Django에서 처리한 데이터를 Template에게 전달
DB
각 문자는 다음과 같이 표준 SQL 문으로 대응 가능하다.
CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다.
반응형
'알아두면쓸데있는신기한잡학사전 > 고군분투흔적들' 카테고리의 다른 글
[Project] 장고 프로젝트 생성 (0) | 2022.08.29 |
---|---|
[Web] DB - MongoDB, pymongo (0) | 2022.08.22 |
[Web] Python - 웹스크래핑 (0) | 2022.08.22 |
[Web] Python - BeautifulSoup, find와 select를 사용한 웹 스크래핑 (0) | 2022.08.22 |
[Web] Python - python package (0) | 2022.08.22 |