@RqL

Как работает get_context_data в Django?

Я новичок в Django и недавно узнал о классах ListView и DetailView, в документации говорилось о добавлении дополнительных данных в передаваемый context. Я не понял от кого наследуется context в get_context_data и зачем вызывается эта функция с передачей словаря, у меня это выглядит таким образом
def get_context_data(self, *, object_list=None, **kwargs):
        context = super().get_context_data(**kwargs)
        #context['title'] = 'Название страницы'
        return context

Так же в документации это было описано с классом DetailView, но с классом ListView это так же работает, тогда какое отличие этих классов?
  • Вопрос задан
  • 4250 просмотров
Решения вопроса 1
fox_12
@fox_12 Куратор тега Django
Расставляю биты, управляю заряженными частицами
Я не понял от кого наследуется context в get_context_data

Это методы миксинов которые используют как ListView, так и DetailView.
Смотреть исходный код Django где вполне себе видно откуда что берется и от кого наследуется.

и зачем вызывается эта функция с передачей словаря,

Обычно она вызывается чтобы получить дефолтный контекст - а проще говоря - переменные которые можно использовать в темплейтах, и добавить туда какие-то свои переменные.

Так же в документации это было описано с классом DetailView, но с классом ListView это так же работает, тогда какое отличие этих классов

Пойти и ознакомиться с базовыми знаниями для для работы с ООП - инкапсуляция, полиморфизм, наследование...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы