CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능(정보의 참조/검색/갱신)을 가리키는 용어로서도 사용된다.
• 콘다 리스트 확인
conda env list
• 가상환경 만들기
conda create -n '이름'(weseatbucks17) python=3.9 (엔터) -이렇게만 하면 생성만 한 거다
• 콘다 활성화
conda activate westarbucks17 (엔터)
콘다 내에 설치 확인 - pip freeze
pip install django
pip install mysqlclient
cd desktop
django-admin startproject letsgo3 (그냥 하나의 폴더를 만든다고 생각하면 된다)
cd letsgo3 (주로 처음에는 setting.py를 많이 쓴다)
앱 만들기 - python manage.py startapp '앱 이름'(users(복수로 하는 거 추천-어떤 기능으로 하는지 알고 이름 짓기))
유저 안의 모델스 파이를 제일 많이 쓴다
settings.py의 installed_apps에 새로 만든 앱(users)을 넣어줘야한다
mysql> create database "NAME"(letsgo3)(settings.py에서 데이터베이스에 넣은 이름) character set utf8mb4 collate utf8mb4_general_ci;
show databases; - 보는 용도
USE "NAME"(letsgo3)
settings.py 에서 주석 설정
urls.py에서 from django.contrib import admin 주석처리
path(;admin/--------------------------)주석처리
settings.py에서 MYSQL database와 연동 (settings.py 안의 databases 밑에 name,user 등 수정
ex)
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'letsgo3',
'USER': 'root',
'PASSWORD': 'wnskdpdyd',
'HOST': '127.0.0.1',
'PORT': '3306',
}
원래 터미널에서 python manage.py makemigrations
그다음 python manage.py migrate
mysql 터미널에서 show table;
class Menu(models.Model): ---------------- models.Model 대소문자 확실히 하기(models.는 클래스이고, 클래스 뒤에 첫 문자는 꼭 대문자)
#column 정의
name = models.CharField(max_length=20)
age = models.IntegerField()
email = models.EmailField(max_length=100)
class Meta:
db_table='users'
활성화 - conda activate westarbucks17 (엔터)
python manage.py shell(manage.py가 있는 데에서 실행)
from users(앱이름이다 앱 이름이 user면 user로 해주기).models import Menu (users에서 mdels.py에서 Menu라는 클래스를 imprt한다)
Menu.objects.create(name='이준하', age=19, email=dlwnsgk791@naver.com)
mysql 터미널에서 select * from menus;
read하는 방법은 get과 fillter가 있다
get은 1개의 값만 있을 때 쓰고(중복 되면 에러) fillter는 쿼리셋으로 여러개 출력 가능)