본문 바로가기
Edu/09.Django

Django 설치 및 프로젝트 생성

by Lacuna028 2021. 10. 6.
* 학습 목표
- 가상환경 생성 및 필요 라이브러리 설치
- 장고 프로젝트 생성
- 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모드가 아닌 경우 터미널 옵션에서 기본 프로필 선택, cmd모드를 선택한다
cmd prompt 선택하는 화면

 

- cmd로 바꾸었는데도 django로 활성화가 안되어 있다면 터미널에 직접 가상환경을 실행시켜줘야 한다

(커맨드: conda activate django)

 

2) 프로젝트 생성

- 프로젝트 생성:

# 장고 프로젝트 생성
django-admin startproject 프로젝트명 .

. (닷)의 의미는 이 폴더에 장고 프로젝트를 만든다는 의미

장고 프로젝트 생성시 생기는 기본 파일들

   - config는 프로젝트의 설정 파일

   - manage.py 파일은 프로젝트의 여러가지 작업을 하는 파일

 

위의 명령어 말고도 "django-admin startproject 프로젝트명" 이라고 커맨드 쓸 수 있으나 그럴 경우 config파일이 프로젝트명과 동일한 이름으로 생기기 때문에 디렉토리 관리에 효율적이지 않다. 따라서 가능하면 점까지 찍어주는 방법이 좋다.

 

 

 

- app 생성: 회원관리, 게시판, 상품관리 등 프로젝트를 구성하는 하위 서비스를 담당할 앱 생성

# app 생성
python manage.py startapp 앱이름

앱 생성이 보여지는 파일명(config파일=do_it_django_proj) 사정상 파일명이 변경됨

- 프로젝트 구조 및 설명:

프로젝트 구조 및 설명

 

 

- 설정 변경

- 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

db.sqlite3가 새로 생성됨

 

 

 

- 관리자 계정 생성

# 관리자 계정 생성
python manage.py createsuperuser

- 관리자 계정 예시: 

    ID: root

    email: a@a.com(이메일 형식에 맞추어 적당히 입력)

    pw: 1111(비밀번호가 단순하여 태클이 들어오지만 실습용이므로 무시하고 진행, 패스워드는 입력시 보안 상 화면에 보이지 않으므로 입력이 안된다고 당황해하지 말자)

관리자 계정 생성 화면

 

 

 

- 서버 실행

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

정상 실행시 보여지는 화면1

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

서버가 정상 실행되었을 경우 보여지는 화면2

 

 

 

- 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