get_queryset, get_context_data

Error Coder·2022년 11월 5일
0

get_queryset(), get_context_data()

  • get_queryset() - 표시하려는 개체 목록을 결정합니다. 기본적으로 지정한 모델에 대한 모든 정보를 제공합니다. 이 메서드를 재정의하면 이 논리를 확장하거나 완전히 바꿀 수 있습니다.
class FilteredAuthorView(ListView):
    template_name = 'authors.html'
    model = Author

    def get_queryset(self):
        # original qs
        qs = super().get_queryset() 
        # filter by a variable captured from url, for example
        return qs.filter(name__startswith=self.kwargs['name'])
  • get_context_data() - 이 메서드는 템플릿 컨텍스트로 사용할 사전을 채우는 데 사용됩니다. 예를 들어 ListViews는 위의 예에서 get_queryset()의 결과를 author_list로 채웁니다. 템플릿에 표시할 항목을 추가하기 위해 이 메서드를 가장 자주 재정의할 것입니다.
def get_context_data(self, **kwargs):
    data = super().get_context_data(**kwargs)
    data['page_title'] = 'Authors'
    return data

그런 다음 템플릿에서 이러한 변수를 참조할 수 있습니다.

<h1>{{ page_title }}</h1>

<ul>
{% for author in author_list %}
    <li>{{ author.name }}</li>
{% endfor %}
</ul>

프로젝트를 진행 중, get_queryset과 get_context_data란 메소드를 사용했지만 정확한 사용 용도 등 어떤 이유에서 이러한 메소드를 사용하는 지 알 수 없기 때문에 프로젝트가 완료된 후 이러한 메소드에 대한 자세한 내용을 기술할 것 같다.

profile
개발자 지망생

0개의 댓글