<바다 위의 메이플라워 호> (길버트 터커 마지슨)
conda create --name (원하는 가상 환경 이름) python=(원하는 파이썬 버전)
: 원하는 가상 환경 설정conda env list
: 가상 환경 목록 확인mysql -u root -p
: root
계정, 패스워드 입력으로 접속CREATE DATABASE (원하는 database 이름) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
: 데이터 베이스 생성show databases;
: database 리스트 출력 use (사용할 database 이름)
: database 사용정해진 GitHub repository에서 불러온 이후 새 branch를 생성, 접속 한다.
git clone (클론할 github 주소) .
: 현재 위치에 클론git branch (브랜치 이름)
: 원하는 git branch 생성git checkout (이동할 브랜치 이름)
: 원하는 git branch로 이동먼저 원하는 가상환경에 접속해 있는지 확인!
pip install django
# 이후에 MySQL server에 접속하기 위한 package
# (중요) mysql이 먼저 설치되어 있는지 먼저 확인
pip install mysqlclient
pip install django-cors-headers
이제 본격적으로 project를 만들어 보자!
project를 생성할 디렉토리로 이동하여 아래 명령어를 입력
# `.`를 사용하는 것은 생성할 위치의 디렉토리로 이미 이동했기에 붙이는 것이다.
django-admin startproject westagram .
(프로젝트를 생성한 디렉토리)
├── manage.py
└── westagram
├── __init__.py
├── asgi.py
├── settings.py
├── urls.py
└── wsgi.py
ALLOWED_HOSTS = ['*']
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',
]
from django.urls import path
urlpatterns = [
]
cd '생성한 프로젝트 폴더명'
touch my_settings.py
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DATABASE 이름',
'USER': 'MySQL 접속 계정명',
'PASSWORD': 'MySQL 비밀번호',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {'charset': 'utf8mb4'}
}
}
# settings.py의 secret_key 사용
SECRET_KEY = 'django-insecure~~~'
settings.py
수정
from pathlib import Path #기존에 settings.py 에 있는 코드
from my_settings import DATABASES, SECRET_KEY
...
DATABASES = DATABASES
SECRET_KEY = SECRET_KEY
PyMySQL
package 설치
pip install PyMySQL
설이 이후 settings.py에 추가
from pathlib import Path #기존에 settings.py 에 있는 코드
from my_settings import DATABASES, SECRET_KEY
import pymysql
pymysql.install_as_MySQLdb()
INSTALLED_APPS = [
...
'corsheaders'
]
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
...
]
#REMOVE_APPEND_SLASH_WARNING
APPEND_SLASH = False
##CORS
CORS_ORIGIN_ALLOW_ALL =True
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
)
CORS_ALLOW_HEADERS = (
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)
목적: 협업에서 동일한 컴퓨터 개발 환경을 갖추기 위함
# redirection으로 개발 환경의 업데이트 내용을 requirements.txt에 저장
pip freeze > requirements.txt
vim
으로 협업에 불필요한 package 내용은 지우기vim requirements.txt
git
에 저장되면 안되는 것들의 이름을 모아 놓은 파일
vim .gitignore
gitignore.io
에서 입력한 내용 복사 및 붙여넣기my_settings.py
추가기도 메타의 시간
manage.py
가 있는 위치의 디렉토리에서 아래의 명령어 실행
python manage.py runserver