Django 장고 설치하기, 프로젝트, 앱

장고 설치하기
1. 터미널에서 가상환경 켜주고
pip install django==4.2
2. 개발환경이 바뀌었을 때 일일이 패키지를 설치해줘야 하는데,
일일이 설치하지 않고 패키지를 기록해놓을 수 있는 명령어
pip freeze > requirements.txt
→ pip install을 하고나면 반드시 pip freeze 해서 내가 설치한 A라는 것을 freeze를 통해 명시해주는 작업이 필요하다.
3. requirements.txt를 한줄씩 읽으면서 모두 설치한다.
pip install -r requirements.txt
장고 프로젝트
장고는 프로젝트를 단위로 움직인다.
그래서 프로젝트를 시작한다 == 하나의 프로그램을 만들기 시작한다 라는 의미이다.
프로젝트를 시작하기 위해서는 가상환경 생성 및 활성화, 장고 설치, 의존성 파일 생성(requirements.txt)가 필요하다.
프로젝트 생성
생성 디렉토리를 생략하면 현재 위치에 프로젝트 이름의 폴더가 만들어지면서 생성된다.
django-admin startproject <프로젝트 이름> <생성 디렉토리>
.은 현재 폴더를 의미하며 현재 폴더를 프로젝트 폴더로 사용해서 생성된다.
django-admin startproject <프로젝트 이름> .
장고 개발 서버 실행
python manage.py runserver
프로젝트 생성하면 보이는 무수히 많은 파일들..

settings.py : 프로젝트의 설정을 관리하는 곳
urls.py : 어떤 요청을 처리할지 결정하는 곳
장고 앱
내가 생각하는 하나의 기능 덩어리

많은 앱들을 하나의 프로젝트에 넣을 수 있는데, 안넣어도 된다.
→ 내 프로젝트는 하나의 앱으로 관리할래 (프로젝트 안에 A라는 앱을 하나 만들고 이 앱에 모든 기능을 다 구현할래) 라고 생각하면 하나의 프로젝트에 하나의 앱안에 여러가지 기능을 다 넣을 수 있다.
하나의 프로젝트는 여러개의 앱으로 구성될 수 있어서 하나의 앱으로 모두 개발하는 것이 가능하지만,
여러개의 앱으로 나누어 개발하는 것을 권장
기능 단위로 나누어서 앱을 만들고, 그 앱을 프로젝트에 넣어서 개발하는 방식으로 장고가 구성되어 있다.
app 사용하기
1. app 생성하기
django-admin startproject <프로젝트 이름> <생성 디렉토리>
pythonmanage.pystartapp <앱 이름>
2. app 등록하기
등록은 프로젝트의 설정을 담당하는 곳에서 할 수 있다. (settings.py)
settings.py의 INSTALLED_APPS 부분이 현재 프로젝트에 등록된 앱 목록이 보이는 곳으로 여기에 만들어둔 앱을 적어두면 된다.

앱 : 프로젝트 안에 들어가는 하나의 기능 단위 모듈
→ 하나의 프로젝트에는 여러개의 앱으로 구성이 되고, 앱에는 여러가지 파일이 있는데
그 중에서도 models.py (DB 정의하는 곳),
views.py (요청이 들어오면 처리해서 응답을 돌려주는 곳) 이 있다.




