SoShin_
소신
SoShin_
전체 방문자
오늘
어제
  • 분류 전체보기
    • Study
      • HTML | CSS
      • JavaScript
      • Django
      • Python
      • Flask
      • Git
      • Project
      • 이것저것
      • 코딩테스트
      • NestJS
    • Review
      • Book
      • Movie & Drama

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • FLASK
  • 장고 allauth
  • Django
  • 영화추천
  • openpyxl
  • 유저기능
  • 영화리뷰
  • SQLAlchemy
  • 파이썬
  • 자바스크립트
  • JavaScript
  • 플라스크
  • 코딩테스트
  • SQLite
  • 장고 제네릭뷰
  • allauth
  • db
  • 위도경도
  • 문제풀이
  • js
  • MongoDB
  • KakaoAPI
  • 장고
  • Django allauth
  • flask orm
  • Python
  • 장고 유저기능
  • orm
  • Django 유효성 검증
  • node.js

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
SoShin_

소신

Study/Django

[Django] Django 클래스형 뷰 ( Generic View- DetailView) # 4

2021. 12. 14. 15:27
반응형

2021.12.14 - [Study/Django] - [Django] Django 클래스형 뷰 ( Generic View- ListView) # 3

 

[Django] Django 클래스형 뷰 ( Generic View- ListView) # 3

2021.12.14 - [Study/Django] - [Django] Django 클래스형 뷰 ( Generic View - CreateView) # 2 [Django] Django 클래스형 뷰 ( Generic View - CreateView) # 2 2021.12.14 - [Study/Django] - [Django] 장고 유..

programmers-sosin.tistory.com

이번엔 제네릭 뷰에서 DetailView 사용법에 대해 알아보겠습니다.

def page_detail(request, page_id):
    page = Page.objects.get(id=page_id)
    context = {'object': page}
    return render(request, 'diary/page_detail.html', context=context)

위 코드는 상세정보를 보여주는 DetailView를 함수 뷰로 구현한 것입니다.

page = Page.objects.get(id=page_id)를 통해 page에 쿼리 셋을 넣어주고, context로 전달할 값을 넣습니다.

그 후 render를 통해 페이지를 렌더링해 보여주는 방식으로 작동하게 됩니다.


from django.views.generic import DetailView

class PageDetailView(DetailView):
    model = Page
    template_name = 'diary/page_detail.html'
    pk_url_kwarg = 'page_id'
    context_object_name = 'pages'

위 코드는 처음 작성했던 함수 뷰를 클래스 뷰로 바꾼 것입니다.

제네릭 뷰의 정해진 변수에 값을 넣어주기만 하면 되는데요.

이때 pk_url_kwarg는 path 함수로부터 전달받을 pk의 키워드 이름을 작성합니다.

 

model = <사용할 모델>

template_name = <랜더링 할 Template>

pk_url_kwarg = <데이터를 조회할 조건(key)>

반응형

'Study > Django' 카테고리의 다른 글

[Django] Django 클래스형 뷰 ( Generic View- DeleteView) # 6  (0) 2021.12.14
[Django] Django 클래스형 뷰 ( Generic View- UpdateView) # 5  (0) 2021.12.14
[Django] Django 클래스형 뷰 ( Generic View- ListView) # 3  (0) 2021.12.14
[Django] Django 클래스형 뷰 ( Generic View - CreateView) # 2  (0) 2021.12.14
[Django] Django 클래스형 뷰 ( Class-Based Views ) # 1  (0) 2021.12.14
    'Study/Django' 카테고리의 다른 글
    • [Django] Django 클래스형 뷰 ( Generic View- DeleteView) # 6
    • [Django] Django 클래스형 뷰 ( Generic View- UpdateView) # 5
    • [Django] Django 클래스형 뷰 ( Generic View- ListView) # 3
    • [Django] Django 클래스형 뷰 ( Generic View - CreateView) # 2
    SoShin_
    SoShin_
    직접 쓰는 개발 블로그

    티스토리툴바