1️⃣ Python 패키지 pip 업그레이드
- pip: Python Install Package의 약자
- PyPI(Python Package Index)의 SW 패키지를 사용하기 위한 명령어
- SW가 모여있는 덩어리
- 그곳에서 내가 필요한 SW를 내 Local에 송출(?)하려고 할 때 사용
- 여기서는 장고를 설치하기 위해 사용한다
🎮 업그레이드


- pip툴은 파이썬을 설치하면 기본적으로 설치되어 있다
- 그래서 업그레이드만 하는 방법임
🎮 버전 확인하기


23.3.2버전 설치되어있음
2️⃣ Django설치하기

- Django 프레임워크는 다른 프레임워크(Spring, Android ...)에 비해 '상대적으로' 가볍다
- 이로 인해 설치/삭제가 용이
3️⃣ Django 업데이트하기


4️⃣ Django 삭제하기
🎮 Django 설치 경로 확인

- django가 설치된 경로를 print해라
🎮 Django 디렉토리 삭제
- 위에서 찾은 경로로 들어가 디렉토리 삭제
- 역슬래시(\)가 두 개 있으면 windows가 경로를 찾지 못함
- 하나로 수정한 뒤 붙여넣기
- 메모장에서 ctrl + h 하고 바꾸기 (\\ → \)
- 노트패드에서 뭘 하니까 바꾸기가 나왔는데 설명은 안 해주심

(옛날 버전은 삭제해도 되겠지?)
5️⃣ Django 프로젝트 생성
🎮 (폴더 생성 및) 경로 확인

- util성의 프로그램을 다운받을 경우 'download'폴더에
- 프로젝트 관리하는 pjt 폴더
🎮 프로젝트 생성

- 위에서 만든 경로로 이동

django-admin startproject 프로젝트명
🎮 프로젝트 확인하기

- 해당 경로에 프로젝트가 생성됨
- 안에 확인해보면 여러 파일과 폴더가 생성되어 있음
- 필요한 파일들이 자동 생성됨
명령 프롬프트에서 확인해보기


6️⃣ 애플리케이션 생성
✅ 프로젝트 vs 애플리케이션

- 쇼핑몰 사이트를 만드는 프로젝트
- 그 안에는 게시판 기능, 결제 기능, 장바구니 기능, 회원 관리 기능 ... 여러 기능이 있음
- 전체적인 큰 틀이 프로젝트
- 그 안에 하나 하나의 기능들을 애플리케이션이라고 보면 됨
🎮 애플리케이션 생성하기

python manage.py startapp 애플리케이션이름
- manage.py 파일을 활용한다
- 프로젝트 폴더 안에서 명령어 입력했음

7️⃣ 프로젝트 디렉토리 이름 변경
- 프로젝트를 생성하면 자동으로 프로젝트 디렉토리(바깥 폴더)내에 같은 이름의 폴더가 생성되는다(안쪽 폴더) 이 두개가 헷갈릴 수 있으니 프로젝트 디렉토리(바깥 폴더)명을 바꾼다는 말 같다
- 헷갈리지 않는다면 굳이 하지 않아도 된다고 함

move 원래폴더명 바꿀폴더명
- 프로젝트 폴더보다 한 단계 상위에서 작업하고 있음을 확인하기
- tempPjt 프로젝트 폴더가 들어있는 pjt 폴더 위치에서 명령어 입력


바뀐 것 확인
👉🏻 MVT 패턴
IT, 특히 웹쪽에서 이루어지는 서비스를 개발할 때는 어떠한 패턴에 의해서 개발을 많이 한다
이 중 가장 유명한 패턴이 MVC 패턴이다

🧩 MVC 패턴
- Client로부터 요청이 들어옴
- Controler가 받는다
- DB 작업이 필요하다면 Controler가 Model에게 위임한다
- Model은 DB와 통신하여 어떤 데이터를 꺼내와 Controler에게 보내준다
- Controler는 특정 작업을 한다
- 응답하기 위해 View를 찾아간다
- View 안에 있는 미리 지정해놓은 많은 view들 중에 가장 적절한 view를 찾아 client에게 응답한다
- 유지보수 측면에서 효율적이다
- 모델은 모델쪽으로 분류하고
- 뷰는 뷰쪽으로 분류하고
- 컨트롤러는 컨트롤러쪽으로 분류
- Spring 프레임워크에서 사용
✅ Controler
- 전체적인 프로그램 실행을 관리
- 오케스트라의 지휘자 같은 역할
✅ Model
- 데이터베이스와 관련된 기능들
✅ View
- 실제 클라이언트에게 보여줄 화면을 관리
🧩 MVT 패턴
- MVC에서 이름만 바뀜
- Client로부터 요청이 들어온다
- View가 받아서
- DB와 관련된 작업이라면 Model에게 위임한다
- Model 뒷편에 있는 DB에서 작업 후 다시 Model에게 데이터를 준다
- Model은 View에게 데이터를 준다
- View도 특정 작업을 한다
- Template과 통신해서 그 중 가장 적합한 템플릿을 뽑아 가져와 Client에게 응답한다
✅ View
- MVC에서 Controler에 해당하던 것
✅ Model
- MVC에서 Model로 쓰던 것
✅ Template
- MVC에서 View에 해당하던 것
- 비슷한 기능, 이름만 바꿈
모든 개발은 서비스되어지는 순서대로 진행된다
👉🏻 프로젝트 디렉토리 구조

🧩 tempPjt
- tempProject 안에
- 전체적인 프로젝트 설정을 담당하는 폴더


✅ settings.py
- 이 프로젝트의 전체적인 세팅
✅ urls.py
- 사용자가 특정 url로 요청 보냄 / 서버에 접속
- 해당 url을 매핑하는 작업
- "Client한테 어떤 요청이 들어오면 어떤 view를 찾아가라"
- 중간에서 bridge역할
🧩 student
- 생성한 애플리케이션

✅ models.py, views.py

- MVT 패턴에서의 model과 view
- views.py가 요청에 대한 지휘를 함
- 데이터가 필요한지
- 기능 구현을 해야하는지
- models.py가 DB와 관련된 작업을 함
- 장고는경량의 DB를 가지고 있다 (SQLight3)
✅ Template
- template는 현재 보이지 않는다
- 사용자가 따로 경로를 만들어 그 안에 html 문서 등을 만들어서 사용한다
장고 프레임워크는 쉽고 간단해서 빠른 설계와 빠른 개발이 가능하다
출처: https://youtu.be/hQyLUv_viDA?si=hFJ26vExNJXDqA5N
'백엔드 > django' 카테고리의 다른 글
[SGC]05_학사관리프로그램 만들기-I (1) | 2024.01.30 |
---|---|
[SGC]04_데이터베이스(ORM) (2) | 2024.01.30 |
[SGC]03_Django 프로젝트 설계 (0) | 2024.01.27 |
[SGC]01_웹프로그래밍과 Django (1) | 2024.01.26 |
[django다시시작하기] 들어가면서 (1) | 2023.10.11 |