앞으로의 회의를 위한 벼락치기^^;⚡️
urls.py
: 사용자가 URL로 Django에 접근하면 Django는 URL로 URL 규칙을 보고 내부에서 일치하는 view를 찾아 연결해줌
wsgi.py
: (Web Server Gateway Interface)
asgi.py
: (Asynchronous Server Gateway Interface)
Django-channels를 사용할 때 알아야 하는 개념
manage.py
: 장고의 다양한 명령어를 실행하기 위한 파일로 임의로 변경하지 않도록 주의
settings.py
: 프로젝트 관련 여러 설정들이 모두 존재
: (Model-View-Controller)
Model(데이터), View(사용자), Controller(데이터 처리 로직)를 구분해 한 요소가 다른 요소들에게 영향을 주지 않도록 설계하는 방식
: MVC 패턴을 파이썬에서 개념은 그대로, 용어는 다르게 받아들인 것
View
= Template
Controller
= View
MVC
= MVT
Model
: DB에 저장되는 데이터
View
: (data를 다루는 logic) 실질적으로 프로그램 로직이 동작해 데이터를 가져오고 적절하게 처리한 결과를 템플릿에 전달
Template
: 사용자에게 보여지는 UI 부분
처리 과정
클라이언트의 요청
→ URLconf를 이용해 URL 분석
→ URL 분석 결과를 통해 URL에 대한 처리를 담당할 뷰 결정
→ 뷰는 자신의 로직을 실행하며, DB처리가 필요하면 모델을 통해 처리, 그 결과를 반환받음
→ 뷰는 로직 처리가 끝나면 템플릿을 사용해 클라이언트에 전송할 HTML 파일 생성
→ 뷰는 최종 결과로 HTML 파일을 클라이언트에 보내 응답
: 저자 - 책
한 명의 저자는 여러 책을 쓸 수 있고, 한 권의 책 또한 여러 명의 저자가 있을 수 있음
: 주문 - 사용자
한 명의 사용자가 여러 주문을 할 수 있음
: 주민등록증 - 사람
한 사람은 주민등록증을 딱 한개만 가질 수 있음
: relation을 나타내기 위한 별도의 키
테이블 하나와 다른 테이블이 연결되는 키
~ echo alias python="python3" > ~/.zshrc
~ source ~/.zshrc
~ python --version
Python 3.8.9 // 버전이 바뀌었음
python3 -m venv [가상환경 명]
cd bin
source ./activate
bin 폴더에 진입하지 않고 활성화 시키려면 source ./bin/activate
deactivate
pip install django
python -m pip install --upgrade pip // 업데이트 권유 warn이 떠서 해줬음
python -m django --version // 버전이 뜨는지 확인
cd [루트 디렉토리]
mkdir [프로젝트 명]
cd [프로젝트 명]
django-admin startproject config . // 현재 디렉토리를 장고 프로젝트로 설정. 필요한 설정 파일을 config 폴더에 설치
python manage.py runserver
: create
, read
, update
, delete
웹 프레임워크를 만들 때 필수적으로 작동해야 하는 기능
: model.py에 만들고싶은 data를 넣는다.
그리고 model.py를 작성했으면 migration 해주어야 한다.
python manage.py makemigrations
python manage.py migrate