Django 초기셋팅

Nam Eun-Ji·2020년 11월 27일
0

1. 새로운 가상환경 생성

conda create -n 프로젝트명 python=3.7.4

2. 생성한 가상환경에 접속

conda activate 프로젝트명

3. django 설치

pip install django

4. 프로젝트 폴더 생성

django-admin startproject 프로젝트명

5. 필요한 모듈 설치

pip install mysqlclient pyjwt bcrypt django-cors-headers

6. 설치한 모듈을 조회하여 해당 텍스트파일에 저장

→ 해당 프로젝트를 공유하는 팀원들이 같은 환경에서 작업해야하기 때문에 아래와 같은 파일을 생성하여 한번에 설치할 수 있게 설치목록을 저장해놓음.

pip freeze > requirements.txt
# 설치할 때는
pip install -r requirements.txt

7. manage.py가 있는 위치에 my_settings.py 파일 생성하여 아래와 같이 코드 입력(파일명은 아무래도 상관없음)

배포할 때 노출되서는 안 되는 내용들을 따로 적어놓음.

# my_settings.py
DATABASES = {
    'default' : {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'we',    # 데이터베이스명, 데이터베이스 생성되어 있어야함
        'USER': 'root',
        'PASSWORD': 'pass1423',    # 데이터베이스 접근 가능한 비번
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

데이터베이스 생성

# mysql 프롬프트 내에서
create database 데이터베이스명 character set utf8mb4 collate utf8mb4_general_ci;

8. SECRET_KEY 새로 생성.

아래와 같은 파이썬 파일 생성 후 개인적으로 보관하고 프로젝트마다 새로 제작.

# secretkey.py
import string
import random
# Get ascii Characters numbers and punctuation (minus quote characters as they could terminate string).
chars = ''.join([string.ascii_letters, string.digits, string.punctuation]).replace('\'', '').replace('"', '').replace('\\', '')
SECRET_KEY = ''.join([random.SystemRandom().choice(chars) for i in range(50)])
print(SECRET_KEY)
python secretkey.py    # 입력하면 해당 파일 실행되면서 secret_key print됨

9. 생성된 secret_key 복사하여 my_settings.py에 기입

# my_settings.py
SECRET = {
    'secret' : '&CZ>]H,B~Sdld,~5:)[pJ%R!LCK+20tjie2D`dk2wv#e|XW@Q',
}

10. 프로젝트 내 settings.py에 my_settings.py 파일 연결

import my_settings

SECRET_KEY = my_settings.SECRET['secret']

ALLOWED_HOSTS = ['*']

# admin은 따로 사용하지 않기 때문에 admin과 관련된 내용들은 주석처리 (admin, auth)
INSTALLED_APPS = ['corsheaders']   # 추가

# 'django.middleware.csrf.CsrfViewMiddleware', django.contrib.auth.middleware.AuthenticationMiddleware' 주석처리
MIDDLEWARE = ['corsheaders.middleware.CorsMiddleware']  # 추가

DATABASES = my_settings.DATABASES

LANGUAGE_CODE = 'ko'
TIME_ZONE = 'Asia/Seoul'

##Disable_slash
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',
)

11. url 연결 파일 체크(admin과 관련된 내용 삭제)

# 프로젝트폴더/urls.py
# 아래와 같이 변경 후 저장
from django.urls import path
urlpatterns = []
profile
한 줄 소개가 자연스러워지는 그날까지

0개의 댓글