conda 가상환경 생성
conda create -n '가상환경이름' python= 'python version'
conda 가상환경 삭제
conda env remove -n '가상환경이름'
conda 가상환경 활성화
conda activate '가상환경이름'
conda 가상환경 비활성화
conda deactivate
$ pip install django
# MySQLserver에 접속하기 위한 패키지
$ pip install mysqlclient
$ pip install django-cors-headeres
$ django-admin startproject 'project-name' . # .은 현재 디렉토리에 생성
$ cd 'project-name'
$ mysql.server start
$ mysql -u root -p
create database 'name' character set utf8mb4 collate utf8mb4_general_ci;
# IP 허용
ALLOWED_HOSTS = ['*']
# 사용하지 않는 요소 주석처리
# admin, csrf, auth 등
INSTALLED_APPS = [
#'django.contrib.admin',
#'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'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',
]
urls.py
from django.urls import path
urlpatterns = [
]
managy.py있는 폴더에 생성
touch my_settings.py # 로 빈 파일 생성
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DATABASE 명',
'USER': 'DB접속 계정명',
'PASSWORD': 'DB접속용 비밀번호',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
SECRET_KEY = '시크릿키'
from my_settings import DATABASES, SECRET_KEY
DATABASES = DATABASES
SECRET_KEY = SECRET_KEY # 변경
settings.py
INSTALLED_APPS에 'corsheaders'추가
MIDDLEWARE에 'corsheaders.middleware.CorsMiddleware', 추가
settings.py 가장 아래에 입력
#REMOVE_APPEND_SLASH_WARNING
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',
#만약 허용해야할 추가적인 헤더키가 있다면?(사용자정의 키) 여기에 추가하면 됩니다.
)
python manage.py runserver
settings.py 완료되면
$ python manage.py startapp 'app_name'
settings.py에 app_name 추가
INSTALLED_APPS = [
#'django.contrib.admin',
#'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders',
'app_name' # 위에서 생성한 app_name 추가
]
pip3 install -r requirements.txt
import json
from django.http import JsonResponse
from django.views import View
from cgv.models import A, B # models.py의 class 명 기재
application에서
touch urls.py
python manage.py makemigrations app_name
python manage.py migrate
mysql 접속
mysql -u root -p
저장된 db파일 확인
mysql> show databases;
위에서 생성한 db 파일 사용
mysql> use 'db_name'
db 내의 table 명 확인
mysql> show tables;
table 내 입력된 테이터 확인
mysql> select * from table #table_name ;
우선 python 설치 확인(가상환경 내 설치된 패키지 리스트 출력)
pip freeze
ipython 설치
pip install ipython
ipython 사용
python manage.py shell
create 방법
a1 = User.objects.create(name='a', age=1, birth='1990-04-04')
b1의 movie가 a1의 actor를 정참조 한다고 할 때 작성 방법
다음과 같이 작성하면 db에 movies_actor와 같이 중간 참조 테이블이 생성된다.
a1 = Actor.objects.create(first_name='지훈', last_name='이', date_of_birth='1995-01-20')
b1 = Movie.objects.create(titel='그랜드 부다페스트 호텔', release_date='2018-10-11', running_time=100)
b1.actors.add(a1)
get 사용해서 body를 안 가져오고 단지 호출만 할 때
http GET http://127.0.0.1:8000/cgv/actor #위에서 actor
http GET http://127.0.0.1:8000/cgv/movie #위에서 movie일 때
새롭게 만들 때 사용
http -v POST 127.0.0.1:8000/movies/movie first_name='abc' last_name='abc', date_of_birth='1999-09-09'
manage.py가 위치한 곳으로 cd 명령어를 이용해 이동
git init
.gitignore 파일 생성
touch .gitignore
Gitignore설정 페이지 에서 아래와 같이 작성
python, pycharm, vscode, vim, macOS, Linux, zsh
- Manual추가
my_settings.py
,*.csv
git add .
git commit -m "CREATE: 프로젝트 초기 셋팅"
자신의 github에 repository를 만들고 로컬 컴퓨터와 연동되게 한다.
우선 master -> main으로 변경
git branch -M main
remote 추가
git remote add origin repository 주소
완료된 초기 셋팅 main branch github에 push
git push origin main
main에서 갈라져 나올 branch 생성
git branch 브랜치 이름 # 브랜치 생성
git checkout 브랜치 이름 # 해당 브랜치로 이동
branch에 push
git add .
git commit -m "커밋 메시지"
git push origin 브랜치 이름
pull request
생성한 브랜치와 main을 merge 할 때 pull request를 날리고 병합