backend/django

5장 실습 예제 확장

seul chan 2017. 3. 10. 15:53

5장 실습 예제 확장


1. book 애플리케이션 만들기 (CBV)

1)뼈대 만들기: startapp books

2)애플리케이션 설계

index.html (Book, Author, Publisher)

-> book_list.html (책 리스트)

-> book_detail.html (책의 디테일 페이지)

테이블

-book table

id: integer, Primary key

title: varchar(100)

authors: integer, Many-To-Many

publisher: integer, Foreign Key

publication_date: date, 출판일

-Author table

saluation: varchar, 저자 인사말

name: varchar, 저자 성명

email: email, 저자 이메일

-Publisher table

-name: varchar, 출판사명

-adress: varchar, 출판사 주소

-website: url, 출판하 홈페이지

URL: 

books/ => BooksModelView.as_view() => index.html

books/book => BookList.as_view() => book_list.html

books/book/3 => BookDetail.as_view() => book_detail.html


3) 모델 코딩

-Book, Author, Publisher 클래스 지정 후 admin 사이트 등록

-makemigrations, migrate 명령어


4) URLconf 코딩

-각각의 url에 맞는 뷰 매칭


5) Template 코딩 #자기에게 맞는 적절한 순서 찾는게 필요

base.html, base_books.html을 만들고 extends를 사용해서 list, detail html을 적절히 상속하여 만들기


6) View 코딩  #나는 뷰 코딩을 먼저하였음

ListView, DetailView, TemplateView 불러와서 클래스 뷰 생성


2. 프로젝트 첫 페이지 만들기

-설계; 각 앱들을 클릭하면 index.html

-View: HomeView.as_view() (mystie 하위 디렉토리에)

-Template: home.html (템플릿 디렉토리 바로 하위에)

==> 나머지 앱들 (blog, bookmark, testtemplate에도 index.html 추가하기