Они оба выполняют одинаковую функциональность, за исключением того, что в get_context_data
, чтобы получить предыдущие данные, вы должны позвонить super
и обновить этот дикт;потому что вы не хотите потерять предыдущие данные в контексте.
Но extra_context
будет делать то же самое, но не нужно вызывать super, и вы можете вызывать его в URL, как TemplateView.as_view(extra_context={'title': 'Custom Title'})
.
Итак, подведем итог: extra_context
- это просто быстрее с меньшим количеством кода для обновления ваших контекстных данных в CBV.
Также note , extra_context
будет использоваться какатрибут, но get_context_data
является методом для CBV.