✔ django의 설치
python3 -m pip install django
✔ django의 설치후 프로젝트 생성
django-admin startproject <프로젝트명> /경로
. 현재의 디렉토리에 모든 것을 설치
django-admin startproject newproject .
✔ django의 App 생성
django-admin startapp <앱 이름>
django-admin startaop newapp
✔ django의 실행
python3 manage.py runserver <PORT번호>
포트 번호를 생략시 디폴트 포트는 8080
python3 manage.py runserver 8888
✔ django와 mysql 연동을 위한 플러그인 설치
pip3 install mysqlclient
django의 4.2 버전부터는 mysql8.0 이상의 버전만 연동이 가능한 것 같다. (이용중인 sql버전이 5.4버전이였기에 django의 4.1버전을 설치)
✔ django와 mysql 연동(mysql DB의 정보 가져오기→ Model)
python3 manage.py inspectdb --database 데이터베이스명
python3 manage.py inspectdb --database testdb
--database를 생략하면 settings.py에 정의되어있는 default 데이터베이스를 참조한다.
콘솔에서 출력된 model스크립트를 복사해 models.py에 붙여넣어 준다.
또는 아래와 같이 직접 models.py로 출력 가능하다.
✔ django와 mysql 연동(작성한 모델 정보를 기반으로 migrations파일을 작성 )
python3 manage.py makemigrations
✔ django와 mysql 연동(작성한 모델을 DB에 반영하기 )
작성된 model을 기반으로 mysql에 테이블을 반영한다.
python3 manage.py migrate
✔ CRUD
C(reate)
var 변수명 = ModelClaassNmae(모델컬럼명 = value, 모델컬럼명 = value)
변수명.save()
R(ead)
# 모든 데이터 읽오기
{modelClassName}.objects.all()
# 조건 붙여 읽어오기(AND)
{modelClassName}.objects.filter(컬럼명=조건, 컬럼명=조건, 컬럼명=조건)
# 조건 붙여 읽어오기(EXCLUDE)
{modelClassName}.objects.all().exclude(컬럼명=제외조건)
{modelClassName}.objects.filter(컬럼명=조건).exclude(컬럼명=제외조건)
# 조건 붙여 읽어오기(OR)
{modelClassName}.objects.filter(Q(컬럼명=조건1) | Q(컬럼명=조건2))
# order by desc
{modelClassName}.objects.filter(조건=???).order_by('컬럼명').reverse()
# count(오브젝트 갯수 확인)
{modelClassName}.objects.all().count()
✔ ERROR
Error: That port is already in use. 발생했을때
ps aux | grep -i manage
PID 목록을 확인 후
root 457 0.0 0.0 408266960 3456 ?? Ss 12 623 0:05.95 /usr/libexec/nesessionmanager
root 334 0.0 0.0 408435056 4400 ?? Ss 12 623 0:06.43 /usr/libexec/kernelmanagerd
root 76011 0.0 0.0 408113264 1488 s002 S+ 2:40PM 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox -i manage
root 75688 0.0 0.1 409401184 21296 s002 T 2:25PM 0:01.36 /opt/homebrew/Cellar/python@3.11/3.11.4/Frameworks/Python.framework/Versions/3.11/Resources/Python.app/Contents/MacOS/Python manage.py runserver
root 75687 0.0 0.1 408400224 9648 s002 T 2:25PM 0:00.16 /opt/homebrew/Cellar/python@3.11/3.11.4/Frameworks/Python.framework/Versions/3.11/Resources/Python.app/Contents/MacOS/Python manage.py runserver
manage.py runserver 태스크를 kill
kill -9 75687
댓글