-
[Django] MTV Pattern🍓𝗪𝗲𝗯 2020. 8. 19. 09:48
웹을 구성하는 방식으로 프레임워크 동작한다.
웹을 구성하는 요소. 분업 및 협업을 진행할 때, 이런 식으로 나눠서 하기도 함. ~.~ 공장처럼 !
1. UI : 화면에 보여지는 인터페이스
2. Data : 화면의 내용을 구성하는 데이터
3. Logic : 내용을 구성하는 방식을 처리하는 로직
django
1. UI -> templates
* templates에 html을 만들어두고, response로 줄 수 있다. django의 html 문법이 있다.
2. Data -> models.py
데이터베이스에 저장되는 데이터를 표현. 장고는 SQL을 사용하지 않아도, 파이썬으로 데이터베이스를 관리할 수 있는 ORM을 제공한다.
3. Logic -> views.py ( 핵심🌟 )
비즈니스 로직을 처리하고 Response를 내려주는 부분!
models.py
- 데이터베이스
- 장고는 각각의 테이블을 하나의 모델로 본다.
RDB 테이블 간의 관계를 이용해서 foreign key로 다른 테이블을 가리킬 때는
primary key(pk)를 이용하여 가리켜야 한다. (unique한 것으로 !!)
- class 기반으로 만든다. 각각은 instance
- makemigrations : models.py에 변화가 있을 때 실행해줘야 하는 명령. 방금 만든 모델이 적용된다.
python manage.py makemigrations
- migrate : 실제 테이블 생성
python manage.py migrate
데이터가 잘 생성되었는지 확인하는 방법
1. db.sqlite3 에서 열어본다.
2. 장고의 admin을 활용한다.
* admin 장고의 가장 큰 장점. 관리자 기능.
관리자 페이지를 새로 만들지 않아도 관리할 수 있다는 것.
ex) 쇼핑몰이라면 상품 정보를 관리하고, 상품을 업로드하는 페이지
커뮤니티를 운영한다면, 사용자들의 댓글, 정보를 관리하는 페이지
python manage.py createsuperuser
나만 사용할 관리자 정보를 만들어야 한다. ( 까먹지 않기 )
Username : admin
Email address: admin@gmail.com
python manage.py runserver
여기에서 /admin 하면 관리자 페이지로 들어가게 된다. 여기서 GUI로 실제로 데이터 생성 가능하다.
우리가 만든 모델을 admin.py에 등록하기
admin.site.register(모델명)
views.py에서 생성한 models.py 에서 데이터 가져오기 ( 조회 )
1. 모델명.objects.all()
해당 모델에 저장된 모든 데이터를 조회하는 함수. 각각의 객체를 리턴한다.
2. 모델명.objects.filter()
특정 데이터만 조회하는 함수 : 여러개
3. 모델명.objects.get()
특정 데이터만 조회하는 함수 : 유일한 값.
pk로의 조회는 get을 활용한다.
[ 실습 ] 학생 조회 서비스
학생 정보를 이름으로 조회할 수 있는 서비스.
반 정보를 담은 모델 ( 그 안에 1, 2, 3, 4, 5, 6반 테이블 있음. 그리고 반 id를 primary key로 학생정보 기입 ), 학생 정보를 담은 모델
'🍓𝗪𝗲𝗯' 카테고리의 다른 글
[Django] UD of python django (0) 2020.08.24 [Django] CR (0) 2020.08.20 [Django] 파이썬 장고 기초 (0) 2020.08.12 [크롬의 개발자 도구 : 네트워크] 보는 법 공부 (0) 2020.08.05 [자연어 전처리] TF, DF, IDF 구현 실습 (0) 2020.08.02