django 초기세팅

NaHyun Kim·2020년 5월 24일
0

conda activate
가상환경 만든 후 실행

pip install django
가상환경에 장고 설치

django-admin startproject
장고 프로젝트 만들기

. git ignore
소스를 공유하기 위해 깃을 사용하지만 올리고 싶은것 올리고 싶지 않은것, 올려서는 안되는 것들이 존재한다. 이를 구분하기 위해 깃이 설치된 디렉토리에 .gitignore파일을 생성해서 관리해야 함

linux, python, django, vim 등을 입력하여 ignore할 파일 만들기

manage.py 있는 곳에 vim .gitignore 을 이용하여 위의 내용 붙여넣는다

.gitignore

### Django ###
 *.log
 *.pot
 *.pyc
 __pycache__/
 local_settings.py
 db.sqlite3
 db.sqlite3-journal
 media
 *.csv
 my_settings.py

pip install django-cors-headers
보안관련 세팅

pip install django-cors-headers
django-cors-headers 설치 후 settings.py의 INSTALLD_APPS 안에 추가


# settings.py

INSTALLED_APPS = [
...
		'django.contrib.staticfiles',
		'corsheaders'
]

# settings.py

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

settings.py

사용하지 않는 내용들 주석처리하기

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

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

my_settings.py 만들기 (manage.py 있는 곳에)

SECRET_KEY 설정
my_settings.py
SECRET_KEY = 'django settings.py에 있던 SECRET_KEY' 입력

DATABASES 설정
my_settings.py

 DATABASES = {
         'default' : {
                 'ENGINE': 'django.db.backends.mysql',
                 'NAME': 'project 이름',
                 'USER': 'root',
                 'PASSWORD': 'mysql비밀번호',
                 'HOST': 'localhost',
                 'PORT': '3306',
                        }
 }

위의 내용 입력해주고 settings.py에 원래 있던 DATABASES 내용 주석처리

SECRET_KEY = my_settings.SECRET_KEY
DATABASES = my_settings.DATABASES

pip freeze > requirements.txt
pip 설치된 파일을 requirements.txt로 만듦

mysql 연결

mysql -u root -p한 후 패스워드 입력하여 접속
create database '데이터베이스명' character set utf8mb4 collate utf8mb4_general_ci; -> 데이터베이스 생성

1개의 댓글

comment-user-thumbnail
2020년 8월 13일

INSTALLED_APPS에서 'django.contrib.auth' 주석처리 하면 permission doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS 에러 뜨던데 어떻게 처리 하신거죠?

답글 달기