django template {context}

  • What is a context in django {SOF}
  • https://docs.djangoproject.com/en/4.2/ref/templates/api/#django.template.Context
  • Context를 사용하면 장고 템플릿 파일에서 변수를 정의할 수 있다. 다만, render에게 해당 컨텍스트를 인수로 전달하여야 한다. | django render
lass DetailArticleView(DetailView):
    model = Article
    template_name = "blog/detail_article.html"

    def get_context_data(self, **kwargs: Any) -> Dict[str, Any]:
        """let's override this method to add more template context 'liked_by_user'"""
        context = super(DetailArticleView, self).get_context_data(**kwargs)
        article = Article.objects.get(id=self.kwargs.get("pk"))

        context["liked_by_user"] = False

        if article.likes.filter(pk=self.request.user.id).exists():
            context["liked_by_user"] = True

        return context
  • self.object의 정체는 무엇인가? | SingleObjectMixin {doc} 에서 가지고 있는 필드인데, 템플릿에서도 쓰이는 걸 보면 어딘가 중요한 놈인 것 같다. | 참고로 MultipleObjectMixin {doc}에서는 self.object_list가 쓰인다.
  • self.object(_list)self.get_context_data()와의 차이점을 잘 모르겠다...