북마크 앱 만들기 ⑤ "뷰(View)" with Django
URLconf를 코딩하면서, 뷰를 클래스형으로 정의하기 위해 각 URL에 따른 해당 클래스 및 as.view()를 메서드로 지정했다.
이제 지정한 클래스 뷰를 코딩하자.
클래스 형 뷰를 코딩할 때, 제일 먼저 고려해야할 사항은 어떤 제네릭 뷰를 사용할 것인가 이다.
개발하고자 하는 애플리케이션의 로직을 분석해보고 가장 적합한 제네릭 뷰를 선택할 수 있어야 한다.
ListView와 DetailView 제네릭 뷰를 선택해서 사용한다.
-
Bookmark 테이블에서 여러 개의 레코드를 가져오는 로직이 필요하기 때문에, ListView 선택
-
Bookmark 테이블에서 한 개의 레코드를 가져오는 로직인 필요하기 때문에, DetailView 선택
(bookmark/views.py)
from django.views.generic import ListView, DetailView
from bookmark.models import Bookmark
# Create your views here.
class BookmarkLV(ListView):
model = Bookmark
class BookmarkDV(DetailView):
model = Bookmark
-
클래스형 제네릭 뷰를 사용하기 위해서 ListView, DetailView 클래스를 임포트 한다.
-
테이블 조회를 위해서 모델 클래스를 임포트 한다.
-
Bookmark 테이블의 레코드 리스트를 보여주기 위한 뷰로서, ListView 제네릭 뷰를 상속받는다. 명시적으로 지정하지 않아도 장고에서는 디폴트로 알아서 지정해주는 속성이 2 가지 있다.
'컨텍스트 변수(object_list)', '템플릿 파일명 (모델명 소문자_list.html)' 이름으로 지정한다.
-
Bookmark 테이블의 특정 레코드에 대한 상세 정보를 보여주기 위한 뷰로서, DetailView 제네릭 뷰를 상속받는다.
'컨텍스트 변수(object)', '템플릿 파일명(모델명 소문자_detail.html)' 이름으로 지정한다.
(이전 포스팅)
2020/08/18 - [Project/Bookmark APP 만들기 (Django)] - 북마크 앱 만들기 ④ "URLconf" with Django
북마크 앱 만들기 ④ "URLconf" with Django
URLconf는 mysite/urls.py 와 bookmark/urls.py 2개의 파일에서 코딩할 수 있지만, 이 예제는 간단하기 때문에 하나의 파일로 코딩을 진행한다. 북마크 앱의 URL은 간단하다. Admin 사이트까지 포함해서 3개의 U
juni-dev-log.tistory.com
(다음 포스팅)
2020/08/18 - [Project/Bookmark APP 만들기 (Django)] - 북마크 앱 만들기 ⑥ "템플릿(Template)" with Django
북마크 앱 만들기 ⑥ "템플릿(Template)" with Django
① bookmark_list.html 템플릿 작성하기 북마크 리스트를 화면에 보여주는 템플릿 파일을 코딩할 것이다. bookmark/templates/bookmark 디렉터리 하위에 템플릿 파일을 둬야 한다. (bookmark_list.html)
juni-dev-log.tistory.com