🌈 "집 꾸미기" 클론 코딩 프로젝트를 시작하면서 Django 초기 세팅을 진행하였다.
$ conda create -n homes python=3.8
$ conda activate homes
$ pip install django
$ django-admin startproject homes .
데이터베이스를 생성하기에 앞서 mysqlclient를 설치한다.
$ pip install mysqlclient
mySQL에 로그인하여 homes DB를 생성한다.
$ mysql -u root -p
$ mysql> create database homes character set utf8mb4 collate utf8mb4_general_ci;
👉 settings.py
모든 IP의 접근을 허용하도록 설정을 변경한다.
ALLOWED_HOSTS = ['
*
']
corsheaders 설치
$ pip install django-cors-headers
corsheaders 설치 후 INSTALLED_APPS & MIDDLEWARE 설정
INSTALLED_APPS = [ # 'django.contrib.admin', # 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'corsheaders', 'core', 'users', 'products', 'orders', 'carts', ] 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', ]
setting.py의 최하단부에 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', )
👉 my_settings.py
DATABASES = { 'default' : { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'homes, 'USER': 'root, 'PASSWORD': mySQL 비밀번호, 'HOST': '127.0.0.1', 'PORT': '3306', 'OPTIONS': {'charset': 'utf8mb4'} } } SECRET_KEY = [SECRET_KEY] ALGORITHM = 'HS256'
my_settings 파일을 settings.py 에 import 한다.
from pathlib import Path from my_settings import DATABASES, SECRET_KEY, ALGORITHM
SECRET_KEY = SECRET_KEY
DATABASES = DATABASES
ALGORITHM = ALGORITHM
👉 .gitignore
manage.py와 같은 계층에 .gitignore 파일을 생성한다.
"https://www.toptal.com/developers/gitignore" 에서 python, pycharm, VisualStudioCode, vim, macOS, Linux, zsh 등을 생성하여 gitingore 파일에 붙여넣기 한다.
my_setting.py 파일 또한 .gitignore에 추가한다.
✅ 서버를 작동하여 초기 세팅에 문제가 없는지 확인한다.
$ python manage.py runserver
Project를 진행하며 환경설정을 위해 설치한 모든 프로그램들을 requirements.txt에 작성한다.
프로그램 설치할때 자동으로 설치되는 추가 프로그램들은 명시하지 않도록 한다.
$ pip freeze 👉 설치된 프로그램들을 확인하는 명령어
아래와 같이 작성하도록 한다.
Django==3.2.4
django-cors-headers==3.7.0
mysqlclient==2.0.3
bcrypt==3.2.0
jwt==1.3.1
PyJWT==2.3.0