* 학습 목표
- 가상환경 생성 및 필요 라이브러리 설치
- 장고 프로젝트 생성
- app 생성
- 설정 변경
- DB생성
- 관리자 계정 생성
- 서버 실행
- python manage.py 명령어 정리
1. 가상환경 생성 및 필요 라이브러리 설치
가상환경 생성 후 python, django, jupyter notebook 라이브러리 설치
# 가상환경 django(가상환경명은 임의 지정) 생성 conda create -n django python=3.8 # 가상환경 django 실행 conda activate django # django 설치 pip install django # jupyter notebook 설치 pip install jupyter notebook
2. 장고 설치
1) 먼저 프로젝트를 관리할 폴더 생성
- first_project로 관리할 프로젝트 폴더 생성
- visual studio code 실행
- 명령팔레트(ctrl + shift + p) 실행, python select interpreter 검색
- 명령팔레트는 vscode에 있는 모든 명령어들을 검색을 통해 찾아 직접 실행할 수 있는 기능
- 설치되어있는 가상환경 중 django를 설치한 가상환경 실행
(가상환경을 vscode에서 activate한다고 생각하면 된다)
- 터미널(contrl + `) 실행.
가상환경 django를 실행했기 때문에 터미널에서 django가 실행되어있어야 함. 만약 실행이 안된다면 cmd모드가 아니라 powershell모드인지 확인.


- cmd로 바꾸었는데도 django로 활성화가 안되어 있다면 터미널에 직접 가상환경을 실행시켜줘야 한다
(커맨드: conda activate django)
2) 프로젝트 생성
- 프로젝트 생성:
# 장고 프로젝트 생성 django-admin startproject 프로젝트명 .
. (닷)의 의미는 이 폴더에 장고 프로젝트를 만든다는 의미

- config는 프로젝트의 설정 파일
- manage.py 파일은 프로젝트의 여러가지 작업을 하는 파일
위의 명령어 말고도 "django-admin startproject 프로젝트명" 이라고 커맨드 쓸 수 있으나 그럴 경우 config파일이 프로젝트명과 동일한 이름으로 생기기 때문에 디렉토리 관리에 효율적이지 않다. 따라서 가능하면 점까지 찍어주는 방법이 좋다.
- app 생성: 회원관리, 게시판, 상품관리 등 프로젝트를 구성하는 하위 서비스를 담당할 앱 생성
# app 생성 python manage.py startapp 앱이름

- 프로젝트 구조 및 설명:

- 설정 변경
- config/settings.py 에서 설정 변경
① INSTALLED_APPS에 내가 추가한 app이름 추가(대략 39번 라인에 추가)
해당 작업은 app을 프로젝트에 추가할 떄마다 해줘야 함.
(ex: 'exam')

② LANGUAGE_CODE: ko-kr 로 변경(대략 107번 라인)
③ TIME_ZONE = 'Asia/Seoul' 로 변경(대략 109번 라인)

- Database에 기본 테이블 생성
# DB에 기본 테이블 생성 python manage.py migrate

- 관리자 계정 생성
# 관리자 계정 생성 python manage.py createsuperuser
- 관리자 계정 예시:
ID: root
email: a@a.com(이메일 형식에 맞추어 적당히 입력)
pw: 1111(비밀번호가 단순하여 태클이 들어오지만 실습용이므로 무시하고 진행, 패스워드는 입력시 보안 상 화면에 보이지 않으므로 입력이 안된다고 당황해하지 말자)

- 서버 실행
# 장고에서 제공하는 테스트 서버 실행 python manage.py runserver

해당 url로 이동(ctrl + 클릭). 아래 화면처럼 보이면 정상 실행.

- admin 페이지로 이동
http://127.0.0.1:8000/ 에서 /admin 을 입력(http://127.0.0.1:8000/admin)
관리자 로그인 화면으로 넘어간다.

관리자 계정으로 로그인(ID: root, pw:1111)

여기서 사용자들을 추가 및 수정, 삭제를 할 수 있다.
(화면처럼 영어버전으로 보여지는 경우 settings.py에서 언어를 한글로 변환한 수 파일을 저장하지 않아서 생긴 문제이니 파일 옵션을 변경했다면 꼭 저장해주자.)
- 서버 종료는 터미널에서 ctrl + c 입력
3. 명령어 정리
# 프로젝트 생성
django-admin startproject 프로젝트명 .
# app 생성
python manage.py startapp 앱이름
# DB관련 커맨드_1
# 어플리케이션의 변경을 추적해 DB에 적용할 변경사항 정리
python manage.py makemigrations
# DB관련 커맨드_2
# makemigrations로 정리된DB 변경 내용을 DB에 적용
python manage.py migrate
# 관리자 계정 생성
python manage.py createsuperuser
# 계정 비번 변경
python manage.py changepassword
# 서버 실행
python manage.py runserver
# 장고 쉘 실행
python manage.py shell