Django_2

HYEYOON·2021년 1월 28일
0

Django1
1. 가상환경 만들기
2. 디렉토리 만들기
3. startproject
4. 앱 만들기
5. django랑 mysql연결하기
6.settings설정하기
7. 서버돌리기

Django2
8.데이터 생성하기
9.테이블 만들기
10.만든 테이블 확인하기


8.데이터 생성하기

models.py에 클래스를 정의하자!
데이터베이스 안의 데이터는 엑셀의 테이블형식으로 데이터가 들어가게 되는데 models.py에서 클래스를 정의하여 서로 매칭되면서 데이터를 교류한다.

내가 만든 클래스는 product라는 클래스이며 name,discription,price라는 column을 생성하였다.
여기서 class Meta는 테이블 이름을 정의할 수 있는 곳이다.

여기서 클래스를 정의했다고 데이터베이스가 생성되는 것은 아니다.

9.테이블 만들기

9.1makemigrations

manage.py가 있는 위치로 가서
% python manage.py makemigrations products

9.2 migrate

% python manage.py migrate
여기까지 하면 진짜 테이블이 만들어진다!!!
Django/app/migrations/0001에 makemigrations 한 테이블이 들어있다.
id는 알아서 생성된다. 0001

테이블 컬럼 수정하고 싶을때?
models.py안의 클래스에 price 넣기로 수정하려고 한다.
그래도 makemigrations해야된다. 수정하기 위한 코드가 필요하다. 그러면 makemigrations에서 추가되는 코드만 파일로 만들게 된다.
보면 Django/app/migrations/0002파일이 추가되어있다. 내용은 Price만 있다.

showmigrations
:진행 상황을 알려준다.
[]에 나열되는데 원래는 괄호안이 비어있는데 migrate를 하게되념 [x]가 된다. 신기하다.

10.만든 테이블 확인하기

앞에서 했던
mysql -u root -p
use starbucks
show tables하면

select * from products;
-> Empty set (0.00 sec) = 빈 테이블
빈테이블인 이유는 데이터를 안넣었기 때문~

mysql> DESC products;
DESC는 describe
외래키인지 주키인지 디폴트값이 있는지 상세 설명해준다.

11. DB를 Django에 넣는 방법

11.1 views->DB

11.2 Interactive shell을 제공한다.

orm을 입력할 수 있는 shell
그것은 바로 장고쉘...
장고쉘에서 만들고 views로 옮긴다!

12. 장고 shell

  1. (westarbucks) hyeyoon@hyeui-MacBookPro ~/westarbucks ./manage.py shell로 셸 열기

>>>from products.models import Product
>>>Product.objects.all()

를 하면 <querySet []>이 나온다.

이제 C.R.U.D를 배워보자

1. Create

Product.objects.create(name='볼펜',description = '모나미에서 만든 펜',price = '$1000')

<Product: Product object (1)>이 된다.
2개 더 만들어 보겠다.

Product.objects.create(name = '형광펜',description = '반짝반짝', price = '$4000')
<Product: Product object (2)>
Product.objects.create(name = '지우개',description = '내머리속의 지우개',price = '$30000')
<Product: Product object (3)>

그리고 mysql에 가서 확인해보면

얍!

profile
Back-End Developer🌱

0개의 댓글