: 독립된 환경을 만들어주는 도구(하나의 PC안에 독립된 가상환경 여러개 생성 가능)
→ 하나의 PC에서 서로 다른 버전의 파이썬과 라이브러리를 쉽게 설치하여 사용
1. 홈 디렉터리(/Users/username)밑에 venvs디렉터리 생성
(base) user@user-mac ~ % mkdir venvs
(base) user@user-mac ~ % cd venvs
[자신의 현재 경로 확인 명령어 pwd]
(base) user@user-mac ~ % pwd /Users/user
2. 파이썬 가상환경 만들기
python3 -m venv 가상환경이름
(base) user@user-mac venvs % python3 -m venv 가상환경이름
3. 가상환경 진입
source activate
(base) user@user-mac venvs % cd 가상환경이름/bin
(base) user@user-mac bin % source activate
(가상환경이름) user@user-mac bin %
4. 가상환경 벗어나기
deactivate
(가상환경이름) user@user-mac bin % deactivate
(base) user@user-mac bin %
(가상환경이름) user@user-mac bin % pip install django==버전
(가상환경이름) user@user-mac bin % python3 -m pip install --upgrade pip
1. 프로젝트 모아둘 디렉터리 생성
(base) user@user-mac ~ % mkdir 디렉터리이름
(base) user@user-mac ~ % cd 디렉터리이름
(base) user@user-mac 디렉터리이름 %
2. 가상환경 진입
(base) user@user-mac bin % source activate
(가상환경이름) user@user-mac 디렉터리이름 %
3. 장고프로젝트 생성할 디렉터리 생성
(가상환경이름) user@user-mac 디렉터리이름 % mkdir 장고프로젝트디렉터리
(가상환경이름) user@user-mac 디렉터리이름 % cd 장고프로젝트디렉터리
(가상환경이름) user@user-mac 장고프로젝트디렉터리 %
4. 장고프로젝트 생성
django-admin startproject config .
(가상환경이름) user@user-mac 장고프로젝트디렉터리 % django-admin startproject config .
<장고프로젝트디렉터리 생성안하는 경우 프로젝트 생성하기>
(가상환경이름) user@user-mac 디렉터리 % django-admin startproject 장고프로젝트
5. 개발 서버 구동
python manage.py runserver
(가상환경이름) user@user-mac 장고프로젝트디렉터리 % python manage.py runserver
INSTALLED_APPS = [
# 'django.contrib.admin',
# 'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
# 'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
1) [corsheaders 플러그인 설치]
pip install django-cors-headers
2) settings.py에 추가
INSTALLED_APPS = [
# 'django.contrib.admin',
# 'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
# 'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'corsheaders.middleware.CorsMiddleware',
]
DEBUG = False
ALLOWED_HOSTS = ['*']
1) my_settings.py 안에 db, 시크릿 키 정보 담기
MY_SECRET = {
'시크릿키'
}
MY_DATABASES = {
'default': {
'ENGINE': '',
'NAME': '',
}
}
2) settings.py에 import하여 추가
from .my_settings import *
SECRET_KEY = MY_SECRET['SECRETE_KEY']
DATABASES = MY_DATABASES
3) .gitignore에 추가
### Django ###
*.log
*.pot
*.pyc
__pycache__/
db.sqlite3
db.sqlite3-journal
my_settings.py
[참고자료]