How do you use get_context_data with TemplateView in Django

9-bits picture 9-bits · Nov 7, 2011 · Viewed 32.2k times · Source

I'm trying to do something like this:

class AboutView(TemplateView):
    template_name = 'about.html'

    def get_context_data(self, **kwargs):
        context = super(AboutView, self).get_context_data(**kwargs)
        context['dahl_books'] = Books.objects.filter(author="Dahl')

When I try to access dahl_books in my template like this:

{% for book in dahl_books %}

dahl_books is not available in the template context, even though the Books QuerySet returned a non-zero number of books. ....am I doing something wrong in either my template or in get_context_data?

Answer

Jakub Gocławski picture Jakub Gocławski · Nov 7, 2011

I can't test it, but I bet you need

return context

at the end of get_context_data :)