westagram
이라는 이름의 가상환경 생성$ conda create -n westagram python=3.9
$ conda activate westagram
$ conda deactivate westagram
CREATE DATABASE westgram; #기본 생성
$ mkdir jimin #프로젝트 시작할 디렉토리 생성
$ cd jimin #해당 디렉토리로 이동
$ git clone "github 주소" . #뒤에 점 '.' 꼭 찍어주기
$ pip install django
$ pip install mysql
$ pip install mysqlclient
$ pip install django-cors-headers
git branch feature/jimin-initial-setting
git checkout feature/jimin-initial-setting
#현재경로 : jimin
django-admin startproject westagram .
cd westagram
---------------------------------------
jimin
├── manage.py
└── westagram
├── __init__.py
├── asgi.py
├── settings.py
├── urls.py
└── wsgi.py
settings.py
ALLOWED_HOSTS = ['*']
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',
]
westagram/urls.py
수정from django.urls import path
urlpatterns = [
]
my_settings.py
생성 (DATABASES, SECRET_KEY)touch my_settings.py
└── jimin
├── manage.py
└── westagram
├── __init__.py
├── asgi.py
├── settings.py
├── urls.py
└── wsgi.py
├── my_settings.py
# my_settings.py 수정
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DATABASE 명',
'USER': 'DB접속 계정명',
'PASSWORD': 'DB접속용 비밀번호',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {'charset': 'utf8mb4'}
}
}
SECRET_KEY = '시크릿키' #settings.py에 있는 secret_key 를 사용
settings.py
↔ my_settings.py
연동#settings.py
from my_settings import DATABASES, SECRET_KEY
DATABASES = DATABASES
SECRET_KEY = SECRET_KEY
settings.py
INSTALLED_APPS = [
...
'corsheaders'
]
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
...
]
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',
)
$ pip freeze < requirments.txt
.gitignore
생성git에 업로드하면 안되는 보안 관련 파일 관리
touch .gitignore
gitignore.io
👉 python, pycham, visualstudiocode, vim, linux, macos
위 키워드들 Create하여 .gitingnore
에 붙여넣기
############################
# gitignore.io 결과 전체 복사 #
############################
# 가장 하단 my_settings.py 추가하기
my_settings.py (보안 관련 파일은 github에 업로드되면 안됩니다.)
최종 구조
├── .gitignore # 숨김설정 되어 있습니다.
├── manage.py
├── my_settings.py
├── requirements.txt
└── westagram
├── asgi.py
├── settings.py
├── urls.py
└── wsgi.py
python manage.py runserver # manage.py 위치에서
이 프로젝트에서는 git clone을 받았기 때문에
git init
,git remote
과정은 하지 않아도 된다.
git checkout feature/jimin-initial-setting
#브랜치 이동
git add .
git commit -m "project initial setting" #커밋
git push origin feature/jimin-initial-stting
git push까지 이상없이 완료했으면
위스타그램 프로젝트 github repository 접속하여
클릭하여 PR생성