장고의 개발환경은 pycham이나 VScode를 사용한다. 나는 계속 VScode를 써왔기 때문에 VScode로 진행할 것이다.
프로젝트를 시작할 디렉토리에 가서 VScode를 실행한 후에 터미널창을 연다. 실행방법은 다음과 같다.
터미널창 열기
- 상단바 -> 보기 -> 터미널
- crtl + `
이후에 터미널을 Powershell에서 Gitbash로 바꿔준다. 이렇게 바꿔주는 이유는 GitBash를 통해서 윈도우 환경에서도 리눅스 명령어를 쓸 수 있기 때문이다.

이후의 진행할 과정은 다음과 같다.
가상환경생성
프로젝트생성
앱생성
setting.py에 만든 앱 등록
이렇게 하면 장고를 사용하기 위한 기본세팅이 완료된다.
python -m venv "가상환경이름"
Command창에 위와 같은 명령어를 입력하면 다음과 같은 폴더가 생성된다. 이 글에서는 'myvenv'라는 이름을 사용하였다.
이 가상환경폴더에 기본적인 파일들 뿐만 아니라 우리가 추후에 사용할 여러 라이브러리들이 깔린다고 생각하면 된다.
가상환경을 사용하는 이유는 프로젝트마다 사용되는 버전이나 라이브러리도 다르고 개발환경도 다르기 때문에 프로젝트별로 독립적인 환경을 만들어 프로젝트관리를 좀 더 편하게 해주기 위해서이다.
먼저 가상환경에 장고를 설치하고 그 후에 프로젝트를 생성해야 한다.
source/"가상환경이름"/Scripts/activate
위의 명령어를 실행하면 커맨드창 안에 ("가상환경이름") 이라는 텍스트가 나타나게 된다. 이렇게 되면 정상적으로 가상환경이 켜졌다는 의미이다.
가상환경은 root폴더 바로 밑에 생성하는 것이 좋으며, 실행 역시 가상환경이 존재하는 디렉토리에서 실행해야한다는 것이다.
개인 프로젝트에서는 경로가 꼬일 일이 많이 없지만 협업을 진행하다보면 파일을 받아오는 과정에서 경로가 꼬이는 경우가 종종 생기기도 한다. 금방 해결되는 문제이긴 하나 평소에도 디렉토리를 제대로 확인하는 습관을 기르자.
deactivate
pip install django
위 명령어를 실행하면 가상환경에 장고가 설치된다. 실제로 myvenv > Lib 폴더를 확인하면 장고에 관련된 폴더들이 설치됐음을 알 수 있다.
혹은 아래의 명령어를 입력하면 현재 가상환경에 설치된 모듈들을 확인할 수 있다.
pip freeze
실행시 아래와 같이 설정되어 있으면 정상적으로 설치된 것이다.
먼저 디렉토리를 생성하여 프로젝트를 만들 폴더를 만들어준다.
mkdir "프로젝트이름"
그 후 아래와 같은 명령어를 입력하면 장고가 해당폴더에 프로젝트를 생성해준다.
djnago-admin startproject config .
드디어 프로젝트를 생성했다. 생성하면 가상환경과 같은 디렉토리에 practice라는 디렉토리가 존재하고 그 안에 config와 manage.py라는 파일이 존재하는 것을 확인할 수 있다.
터미널에서 실행경로를 프로젝트 안으로 옮긴 다음에 다음과 같은 명령어를 실행하면 앱이 생성된다.
python manage.py startapp "앱 이름"
예시로는 accounts라는 앱을 만들었다.
#settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'accounts', #생성한 앱이름 등록
]
이 과정을 반드시 해주어야 장고가 앱을 인식하고 작동시킬 수 있다.
python -m venv "가상환경이름"
source/"가상환경이름"/Scripts/activate
pip install django
mkdir "프로젝트이름"
django-admin startproject config .
python manage.py startapp "앱이름"
setting.py에 등록#settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'accounts', #생성한 앱이름 등록
]
*중간중간 명령어를 실행할 때 경로를 수정해주어야 하는 것을 잊지 말아야 한다.
++벨로그 처음 작성해보는데 이미지 크기 조정하는 법 아시는 분 알려주실 수 있으신가요ㅜㅜㅜ
안녕하세요 혹시 가상환경을 새로 만들때마다 장고를 새로 설치해줘야하는걸까요??