Django Project Setting

hs·2021년 8월 18일
0
post-thumbnail

Django 프로젝트 진행시 초기에 셋팅해 두어야 하는 부분들을 정리해봤다.

가상환경 생성

#가상환경 생성
conda create -n "가상환경 명" python=3.9
conda activate "가상환경 명"

Database 생성

$ mysql -u root -p

myslq> create database "데이터베이스 명" charater set utf8mb4 collate utf8mb4_general_ci;

참고) utf8mb4는 utf8에서 emoji문자가 입력되지 않는 문제점을 해결하기 위해 나온 것

Project Python Package 설치

$ pip install django

$ pip install mysqlclient

참고) macOS중에 mysqlclient로 입력시에 설치가 안되는 경우가 있다. 이러한 경우 mysql-client 이렇게 입력하면 설치가 가능하다.

Django Project 생성

$ django-admin startproject "프로젝트 명"

$ cd "프로젝트 명"

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

urls.py 수정

from django.urls import path

urlpatterns = [
]

my_settings.py 생성

  • Django 설정에 존재하는 내용중 SECRET_KEY, DATABASES 등은 공유해야하는 내용이 아니므로 별도로 파일을 생성해 관리한다. 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 = '시크릿키'

를 입력해준다.

setting & my_setting 연동

from my_settings    import DATABASES, SECRET_KEY

...

DATABASES = DATABASES

SECRET_KEY = SECRET_KEY

corsheaders 설치 및 설정

CORS란 웹 페이지 상의 제한된 리소스를 최초 자원이 서비스된 도메인 밖의 다른 도메인으로부터 요청을 할 수있게 허용하는 구조이다.

pip install django-cors-headers

setting.py의 INSTALLD_APPS와 MIDDLEWARE에 아래 내용을 추가해준다.

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

마지막으로 서버를 동작해서 확인한다.

python manage.py runserver
profile
무엇이든 끝까지 보람차게

0개의 댓글