[django] 프로젝트 세팅하기

ㅎㅎ·2021년 6월 20일
0

django

목록 보기
4/8


📌 django 프로젝트 세팅하기

- mysql 설치하기

#mysql 설치하기
brew install mysql
#서버 시작하기
mysql.server start
#시작 후 기본 설정하기  
mysql_secure_installation
  • 실행한 후 나오는 질문들
  1. 비밀번호 복잡도 검사 과정 - no
  2. 비밀번호 입력&확인
  3. 익명 사용자 삭제 - yes
  4. 원격 접속 허용하지 않을 것인가? - no
  5. test DB 삭제 - yes
  6. previlege 테이블을 다시 로드할 것인가? - yes
#mysql sever가 재부팅과 상관없이 켜질 수 있도록 brew services를 이용해 서버 켜두기
brew services start mysql
#mysql 사용하기
mysql -u root -p 
#mysql 나가기 
quit
#databases 만들기
#이때 "NAME"은 내가 사용할 데이터베이스 이름을 말함.
create database "NAME" character set utf8mb4 collate utf8mb4_general_ci;

➡️ 이렇게 하면 mysql 사용할 준비 완료!

- 가상환경 만들고 패키지 설치

  • conda가 설치되어 있다는 가정하에서,
#conda 가상환경 목록 확인
conda env list

#conda 가상환경만들기
conda create -n "가상환경이름" python=3.7

#내가 만든 가상환경 활성화하기
conda activate "가상환경이름"
#프로젝트에서 사용할 Python package 설치하기
pip install django
pip install mysqlclient

- 장고 프로젝트 만들기

#장고 프로젝트 생성
django-admin startprojects "프로젝트 이름" 
cd "프로젝트 이름" # 프로젝트로 이동하기 

- setting.py 설정하기

ip허용하기

ALLOWED_HOSTS = ['*']

주석 처리하기

INSTALLED_APPS = [
    # 'django.contrib.admin',
    # 'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'corsheaders',
    'products',
]

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',
]

후에 프로젝트이름/url.py 수정하기


urlpatterns = [

]

데이터 베이스연결도 잊지 않기

#settings.py 
DATABASES = my_settings.DATABASES

my_settings.py 생성하기

  • 또다른 settings.py를 설정하는 이뉴는 databases나 secret_key는 공유해야 하는 내용이 아니기때문에 별도의 파일로 만들어준다.
cd "프로젝트 이름" # 프로젝트폴더로 이동 후 
touch my_settings.py # 파일 생성 

그리고 settings.py에 my_settings.py를 연결해주기 위해서

# settings.py에 추가
from . import my_settings
# settings.py에 추가
SECRET_KEY = my_settings.SECRET_KEY
# my_settings.py 파일안에 넣는 내용 예시
DATABASES = {
    'default' : {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'DATABASE 명', # 내가 만든 데이터베이스 이름
        'USER': 'DB접속 계정명',
        'PASSWORD': 'DB접속용 비밀번호', # 내가 만든 비밀번호
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

SECRET_KEY = '시크릿키'

corsheaders

#설치 후 
pip install django-cors_headers
#settings.py에 추가
INSTALLED_APPS = [
...
		'corsheaders'
]

MIDDLEWARE = [
	...
		'corsheaders.middleware.CorsMiddleware',
	...
]

이렇게 넣은 후에 허용한 값을 값들을 정의

#settings.py
#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',
		#만약 허용해야할 추가적인 헤더키가 있다면?(사용자정의 키) 여기에 추가하면 됩니다.
)

➡️ 후에 runserver를 했을 때 잘 돌아가면 완료!

python manage.py runserver

후에

#장고 앱 생성하기
python manage.py startapp "앱 이름"
#setting.py에 추가
INSTALLED_APPS = [
	...
	'products',
]

0개의 댓글