ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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로 학생정보 기입 ), 학생 정보를 담은 모델

     

     

     

    댓글

ahntoday