첫 시간은 장고 초기 셋팅을 하기로 하였다
장고 초기 셋팅의 순서는 이렇다.
원래 클론을 받은 상태라면 git branch feature/원하는 작업 으로 바로 옮겨야 한다 마스터에서 하는것은 굉장히 위험한 행동이다.
https://github.com/gusxoqkqh1/afterdev.git
mkdir afterdev
cd afterdev
**git clone https://github.com/gusxoqkqh1/afterdev.git**
ll
total 4.0K
drwxrwxr-x 3 ubuntu ubuntu 4.0K 5월 7 19:06 **afterdev**
git init
❯ **ll -a**
total 16K
drwxrwxr-x 4 ubuntu ubuntu 4.0K 5월 7 19:07 .
drwxr-xr-x 43 ubuntu ubuntu 4.0K 5월 7 19:07 ..
drwxrwxr-x 3 ubuntu ubuntu 4.0K 5월 7 19:06 afterdev
drwxrwxr-x 7 ubuntu ubuntu 4.0K 5월 7 19:07 **.git**
❯ git remote add origin https://github.com/gusxoqkqh1/afterdev.git
conda create -n name json python= 3.8
conda activate json
전에 했던 프로젝트에서 pip 파일을 가저온 후 다운 받자
전에 Wa-Grano_backend 프로젝트에서 했던 파일에서 requirements 참조
cd ~/dev/19-2nd-Wa-Grano-backend
ll
total 28K
drwxrwxr-x 7 ubuntu ubuntu 4.0K 5월 4 20:36 htg
drwxrwxr-x 5 ubuntu ubuntu 4.0K 5월 6 21:48 keunhokim
-rw-rw-r-- 1 ubuntu ubuntu 1.5K 5월 3 16:04 pull_request_template.md
-rw-rw-r-- 1 ubuntu ubuntu 26 5월 3 16:04 README.md
-rw-rw-r-- 1 ubuntu ubuntu 191 5월 3 16:04 **requirements.txt**
drwxrwxr-x 5 ubuntu ubuntu 4.0K 5월 4 19:35 yudongheon
drwxrwxr-x 5 ubuntu ubuntu 4.0K 5월 6 21:48 yunhyunglee
**pip freeze** # 기존에 있던 가상서버
asgiref==3.3.1
bcrypt==3.2.0
certifi==2020.12.5
cffi==1.14.4
Django==3.1.4
django-cors-headers==3.7.0
mysqlclient==2.0.3
pycparser==2.20
PyJWT==2.0.1
pytz==2020.5
six==1.15.0
sqlparse==0.4.1
cd ~/afterdev
pip install -r ~/dev/19-2nd-Wa-Grano-backend/requirements.txt
django-admin startproject htg
drwxrwxr-x 2 ubuntu ubuntu 4.0K 5월 7 19:21 htg
-rwxrwxr-x 1 ubuntu ubuntu 659 5월 7 19:21 manage.py
# pip 자료를 원하는 파일로 옮기거나
pip freeze > requirements.txt
or
#저장 되어 있는 파일이 존재한다면 cp -r로 복사하거나
cp -r ~/dev/19-2nd-Wa-Grano-backend/requirements.txt .
❯ cat requirements.txt
asgiref==3.3.1
bcrypt==3.2.0 # 로그인,회원가입 때 사용
certifi==2020.12.5
cffi==1.14.4
Django==3.1.4
django-cors-headers==3.7.0 #Crosss-Origin Resource Sharing (웹 페이지 상의 제한된 리소스를 최초 자원이 서비스된 도메인 밖의 다른 도메인으로부터 요청할 수 있게 허용하는 구조이다. 모르겠당..)
mysqlclient==2.0.3 # 장고에서 디비를 이용하는 orm 을 위해 쓴다
pycparser==2.20
PyJWT==2.0.1 # 인가된 회원에게 토큰 발행
pytz==2020.5
six==1.15.0
sqlparse==0.4.1
drwxrwxr-x 2 ubuntu ubuntu 4.0K 5월 7 19:21 htg
-rwxrwxr-x 1 ubuntu ubuntu 659 5월 7 19:21 manage.py
-rw-rw-r-- 1 ubuntu ubuntu 191 5월 7 19:30 **requirements.txt**
vim my_settings 파일 생성
vim my_settings.py
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'wagrano5', # 데이터 베이스 이름
'USER': 'root',
'PASSWORD': 'ubuntu', #데이터 베이스 암호
'HOST': 'localhost',
'PORT': '3306',
}
}
SECRET = 'ew&&-5($mz4_t7(+81^zjfk=c$_ah^09%m-8a0*4=cm0_5#bda'
❯ ll
total 16K
drwxrwxr-x 2 ubuntu ubuntu 4.0K 5월 7 19:21 htg
-rwxrwxr-x 1 ubuntu ubuntu 659 5월 7 19:21 manage.py
-rw-rw-r-- 1 ubuntu ubuntu 306 5월 7 19:31 my_settings.py
-rw-rw-r-- 1 ubuntu ubuntu 191 5월 7 19:22 requirements.txt
cd htg
vim settings.py
14번 mport my_settings 추가
24번 SECRET_KEY = my_settings.SECRET
29번 ALLOWED_HOSTS = ['*']
34번 INSTALLED_APPS = [
# 'django.contrib.admin',
# 'django.contrib.auth',
'users',
'products',
'corsheaders',
]
47번 MIDDLEWARE = [
# 'django.middleware.csrf.CsrfViewMiddleware',
# 'django.contrib.auth.middleware.AuthenticationMiddleware',
'corsheaders.middleware.CorsMiddleware',
82번 DATABASES = my_settings.DATABASES
맨 아래
#REMOVE_APPEND_SLASH_WARNING
APPEND_SLASH = False
# APPEND_SLASH 는 자동으로 URL 끝에 슬래시('/')를 붙여 주는 장고의 옵션
(디폴트는 True
##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',
#만약 허용해야할 추가적인 헤더키가 있다면?(사용자정의 키) 여기에 추가하면 됩니다.
)
urls.py 는 쉽게 말해 은행 창구라고 보면 된다.
레스트풀 에 따라 처음 경로를 만날 시 여기 클래스 or 함수를 적용하세요~라는 의미다 wecode에서는 admin 창을 따로 만들 생각이 없으니 지우기로 한다
from django.urls import path
urlpatterns = [
]
깃허브에 암호키나 알로기즘키, db 등 공개하고 싶지 않은 파일은 비공개 처리 할 수 있다.
__pycache__
my_settings.py
git rm --cached pycache/
git rm --cached my_settings.py
git rm --cached 명령어 이용하면 찌꺼기를 제거 할 수 있다는데 잘 모르겠다.
git add . and push 하여 gitignore가 정상적으로 되었는지 확인
git init 생성 후 원래는 main이 아니라 git branch feature/x 로 새로운 브런치를 파서 작업 후 그곳에서 push를 해야 하지만 지금은 내가 관리자니 걍 마스터에서 진행한다 원래, 마스터나 main에서는 pull과 merge말고는 건드는 행위는 굉장히 위험한 작업이다!
git branch feature/default_settings
git checkout feature/default_settings 후 초기셋팅을 진행해야 한다!
git add .
git commit -m '알리고 싶은 메시지 '
git push origin '지금 현재 브런치'