for Backend
내 프로젝트 전용 가상환경 만들기
가상환경에 장고 설치하기
장고 프로젝트 만들기
git hub에 올리고 싶은것 올리고 싶지 않은 것, 올려서는 안되는 것들을 구분하기 위해 깃이 설치된 디렉토리에 .gitignore 파일을 생성해서 관리해야 함
gitignore.io 여기서 mac, python, django 등을 입력하여 ignore할 파일 만들기
manage.py 있는 곳에 vim .gitignore 을 이용하여 위의 내용 붙여넣기
*.csv 라고 써서 추가해주기
gitignore django 부분에
media도 추가해주기
아래와 같이 추가
# .gitignore
### Django ###
*.log
*.pot
*.pyc
__pycache__/
local_settings.py
db.sqlite3
db.sqlite3-journal
media
*.csv
보안관련 세팅!
pip install django-cors-headers
을 이용아여 django-cors-headers 설치하기
설치했다면 settings.py의 INSTALLD_APPS 안에 추가해주기
# settings.py
INSTALLED_APPS = [
...
'django.contrib.staticfiles',
'corsheaders'
]
middleware도 추가
# 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',
)
사용하지 않는 내용들 주석처리하기
여기서는 admin/auth/csrf를 주석처리 할 것
### 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',
]
보안 및 데이터베이스 설정을 위해서 만듬
manage.py 있는 곳에
vim my_settings.py
위의 명령어를 이용하여 만들기
# my_settings.py
SECRET_KEY = 'django settings.py에 있던 SECRET_KEY'
위의 내용 입력해주기
# my_settings.py
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'project 이름',
'USER': 'root',
'PASSWORD': 'mysql비밀번호',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {'charset': 'utf8mb4'},
'TEST': {
'CHARSET': 'utf8mb4',
'COLLATION': 'utf8_general_ci'
}
}
}
위의 내용 입력해주고 settings.py에 원래 있던 DATABASES 내용 주석처리
ALLOWED_HOSTS = []
위의 내용입력해주기
settings.py에 있던 내용들을 my_settings.py로 이동하게 해줘야함
아래의 내용 입력 및 주석처리 해주기
import my_settings
SECRET_KEY = my_settings.SECRET_KEY
ALLOWED_HOSTS = my_settings.ALLOWED_HOSTS
DATABASES = my_settings.DATABASES
#DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
#}
#
보안을 위한 내용이기 때문에 my_settings.py는 git에 올라가면 안됨
.gitignore에 있는지 확인하기
### Django ###
*.log
*.pot
*.pyc
__pycache__/
local_settings.py
db.sqlite3
db.sqlite3-journal
media
my_settings.py
*.csv
위와 같이 my_settings.py가 gitignore에 있어야함
없으면 추가해주기
brew install mysql
mysql 시작하기
mysql.server start
설정시작하기
mysql_secure_installation
설정을 시작하면 여러가지 질문이 나타남
Django 3.0 MySQL 연결하기
위에서 amdin 주석처리 했으므로 urls.py에서도 지우기
pip freeze는 설치된 pip 내역 보여줌
위의 명령어를 이용하여 pip 설치된 파일을 requirements.txt로 보내서 git clone을 받을시 필요한 내용을 깔 수 있도록 해줌