Представления-классы Django — это базовые абстрактные классы, реализующие общие задачи веб-разработки на Django. Они достаточно "мощные" в плане использования и полностью используют возможности объектно-ориентированного программирования и множественного наследования Python для расширения своей функциональности. Они больше, чем просто общие базовые упрощения использования Django — они предоставляют утилиты, которые можно смешивать со сложными представлениями в своих задачах.
Вся сила и удобство такого подхода — простота.
Например, пытаясь понять, какой метод и какие ключевые аргументы нужны
при использовании UpdateView
, нужно пробраться
через целую цепочку наследования: 10 предков (плюс object
),
которые находятся в 3 исходных файлах.
Этот сайт все это покажет.
Чтобы все было проще, мы взяли все атрибуты и методы, которые каждое представление определяет или наследует, и собрали на одной странице для каждого представления. Например, посмотрите UpdateView.