본문 바로가기

python + Django

제너릭 뷰 오버라이딩

●  제너릭뷰 속성 오버라이딩

: 제너릭 뷰를 사용하는 경우 제너릭뷰 에서 제공하는 속성들을 개발자가 변경해서 사용하고자 하는 경우를 속성 오버라이딩이라고 한다.

 

1. model

- 기본 뷰(View, TemplateView, RedirectView)를 제외한 모든 제너릭뷰에서 사용하는 속성,

- 뷰가 출력할 데이터가 들어있는 모델을 지정


2. queryset

- 기본 뷰(View, TemplateView, RedirectView)를 제외한 모든 제너릭뷰에서 사용하는 속성,

- 출력 대상이 되는 QuerySet 객체를 지정합니다.


※ queryset 속성을 지정하면 model 속성은 무시됨

※ model = Bookmark 와 queryset = Bookmark.object.all()은 같은 기능을 한다.


3. tempate_name

- 모든 제너릭 뷰에서 사용하는 속성

- 템플릿 파일명을 문자열로 지정


4. context_object_name

- 기본 뷰(View, TemplateView, RedirectView)를 제외한 모든 제너릭뷰에서 사용하는 속성,

- 템플릿 파일에서 사용할 컨텍스트 변수명을 지정


5. paginate_by

- ListView와 날짜 기반 뷰에서 사용

- 페이징 기능이 활성화된 경우에, 페이지당 몇개의 항목을 출력할 것인지 정수로 지정


6. date_field

- 날짜 기반 뷰에서 기준이 되는 필드를 지정

- 이 필드를 기준으로 년/월/일을 검사함

- 필드의 타입은 DateField, DateTimeField 타입으로 지정해야 한다.


7. make_object_list

- YearArchiveVIew 사용시에 해당 년에 맞는 객체들의 리스트를 생서할지 여부를 지정

- True이면 객체들의 리스트를 만들고 그 리스트를 템플릿에서 사용할 수 있음.


8. form_class

- FormView, CreateView, UpdateView에서 사용

- 폼을 만드는데 사용할 클래스를 지정


9. initial

- FormView, CreateView, UpdateView에서 사용

- 폼에 사용할 초기 데이터를 사전({}) 형태로 지정


10.  fields

- CreateView, UpdateView에서 사용

- 폼에 사용할 필드를 지정


11. success_url

- FormView, CreateView, UpdateView, DeleteView 에서 사용

- 폼에대한 처리가 성공한 이우에 리다이렉트될 URL을 지정




'python + Django' 카테고리의 다른 글

python crawling (naver)  (0) 2019.11.01
static파일 등록/사용  (0) 2019.04.13
파이썬 진행상황  (0) 2019.02.18
django 가상환경 설정 (windows10)  (0) 2019.02.12
models.py 추가 사항  (0) 2019.02.11