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
에디터에서 view.py를 다음과 같이 수정합니다.
ListView와 DetailView를 임포트 하고 다음 행에 테이블 정의가 되어 있는 모델클래스를 임포트 합니다.
BookmarkLV는 테이블의 리스트를 보여주기 위한 것으로 ListView 제너릭 뷰를 상속받고, 내부에서 자동으로 컨텍스트 변수로 object_list, 템플릿 파일을 모델명소문자_list.html(여기서는 bookmark_list.html) 로 지정합니다.
BookmarkDV는 테이블의 특정 레코드에 대한 상세 정보를 보여주기 위한 뷰로, DetailView 제너릭을 상속 받습니다. BookmarkLV와 마찬가지로 컨텍스트 변수로 object, 템플릿으로 모델명소문자_detail.html(bookmark_detail.html)을 생성합니다.
북마크에는 복잡한 것은 필요 없으므로 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)을 생성합니다.
댓글 없음:
댓글 쓰기