Django 초기 설정 (project를 위한)

Daehwi Kim·2020년 6월 18일
0
post-thumbnail

프로젝트 시작을 위한 Django 초기설정

1. 콘다로 가상환경을 만든다.

conda create -n proj python = 3.8

2. 가상환경 활성화 시킨다.

conda actvate proj

3. 프로젝트 폴더로 들어간다.

cd django_initial_setting

4. 프로젝트를 생성한다.

django-admin startproject proj

5. vi .gitignore

  • 올리고 싶은것 올리고 싶지 않은것, 올려서는 안되는 것들이 존재합니다. 이를 구분하기 위해 깃이 설치된 디렉토리에 .gitignore파일을 생성해서 관리해야 합니다.
  • gitignore에서 사용하는 환경에 해당하는 키워드를 선택하면, 자동으로 .gitignore 파일에 정의할 요소들을 생성 해줍니다.
  • .gitignore 파일을 해당 폴더 안에 vi로 생성한 뒤, gitignore사이트에서 생성한 것을 복사해서 붙여 넣는다.

6. my_settings.py , *.csv

  • mysetting.py 와 csv.py를 만들어서 git에 올리면 안되는 것들을 관리한다.
  • .gitignore 파일에 들어가서 my_settings.py*.csv를 추가한다.

7. mysql 데이터베이스 설정을 위해 my_setting.py 에서 데이터추가

DATABASES = {
    'default' : {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'my_sql', # 본인의 데이터베이스 이
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

SECRET = {
        'secret':'^^*&7c*i(gio3z-@h0pw5vh&$xe#+n0jqjm4oo)m52@k9ksis!',
}

8. settings.py에서 my_settings파일을 import

import my_settings 		# my_settings를 import한다.

DATABASES = my_settings.DATABASES	# DATABASES를 my_settings에 있는 mysql로 바꿔준다.
SECRET_KEY = my_settings.SECRET['secret']	# 시크릿키를 my_settings에서 가져온다 because 시크릿키는 깃에 올라가면 안되기때문


# ==	INSTALLED_APPS 와 MIDDLEWARE의 특정부분을 주석처리하거나 지워야된다. ==


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

9. corsheaders

corsheaders 플러그인을 설치해두지 않으면 localhost가 아닌 외부에서 내 서버에 접속 할 때 에러가 생길 수 있으니 설치한다.

  • pip install django-cors-headers -> corsheadersf를 설치한다.
  • settings.py 에 들어가서 corsheaders를 추가한다.
INSTALLED_APPS = [
...
		'django.contrib.staticfiles',
		'corsheaders'
]

# middleware도 추가해야합니다.

MIDDLEWARE = [
	...
		'corsheaders.middleware.CorsMiddleware',
	...
]
  • 허용해야될 값들을 settings.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',
		#만약 허용해야할 추가적인 헤더키가 있다면?(사용자정의 키) 여기에 추가하면 됩니다.
)

10. 엔드포인트 생성후 프론테엔드와 테스트하기 위해 allowed host 에 ip를 추가해야된다.

  • ifconfig 명령어를 이용해 나의 ip주소를 확인한다.
    en0: 부분의 inet 이 ip주소이다.

  • ALLOWED_HOSTS에 ip주소를 추가한다.
    ALLOWED_HOSTS = ["*", "ip주소", "ip주소:8000"]

11. mysql 테이블을 만들어 놓는다.

  • CREATE DATABASE mysql_test CHARACTER SET utf8
    mysql_test 부분은 원하는 테이블명을 넣으면 된다.

12. 테스트 해본다

  • python manage.py runserver 0:8000
profile
게으른 개발자

0개의 댓글