전체 페이지뷰

2016년 12월 6일 화요일

Bookmark 앱 만들기 3

view 코딩

앞서 URLconf에 클래스 기반의 뷰를 정의했습니다. 이제 실제적으로 view의 내용을 코딩해 보겠습니다.


여기서 우리는 장고가 제공하는 제너릭뷰를 사용할 수 있습니다.
제너릭 뷰는 크게 네가지로 분류되는데
Base views
    View
    TemplateView
    RedirectView
Generic display views
    DetailView
    ListView
Generic editing views
    FormView
    CreateView
    UpdateView
    DeleteView
Generic date views
    ArchiveIndexView
    YearArchiveView
    MonthArchiveView
    WeekArchiveView
    DayArchiveView
    TodayArchiveView
    DateDetailView

입니다(참고) . 필요한 제너릭뷰를 골라서 수월하게 개발을 진행할 수 있습니다.
북마크에는 복잡한 것은 필요 없으므로 ListView와 DetailView를 이용합니다.

역시 가상환경을 activate하고 bookmark 폴더로 이동해서 에디터로 view.py를 실행.

D:\>cd mydjango

D:\myDjango>myvenv\Scripts\activate
(myvenv) D:\myDjango>cd bookmark

(myvenv) D:\myDjango\bookmark>subl views.py

1
2
3
4
5
6
7
8
9
10
11
12
from django.views.generic import ListView,DetailView
from bookmark.models import Bookmark
# Create your views here.
#  ListVies
class BookmarkLV(ListView):
    model = Bookmark
#   DetailView
class BookmarkDV(DetailView):
    model = Bookmarkㅍ
cs

에디터에서 view.py를 다음과 같이 수정합니다.
ListView와 DetailView를 임포트 하고 다음 행에 테이블 정의가 되어 있는  모델클래스를 임포트 합니다.

BookmarkLV는 테이블의 리스트를 보여주기 위한 것으로 ListView 제너릭 뷰를 상속받고, 내부에서 자동으로 컨텍스트 변수로 object_list, 템플릿 파일을 모델명소문자_list.html(여기서는 bookmark_list.html) 로 지정합니다.

BookmarkDV는 테이블의 특정 레코드에 대한 상세 정보를 보여주기 위한 뷰로, DetailView  제너릭을 상속 받습니다. BookmarkLV와 마찬가지로 컨텍스트 변수로 object, 템플릿으로 모델명소문자_detail.html(bookmark_detail.html)을 생성합니다.


댓글 없음:

댓글 쓰기