Views ===== Inheritance map for the ``news`` app's HTTP views. Each block lists one project-internal base class and the news views that extend it. Django base classes (``ListView`` / ``TemplateView``) and django-braces mixins (``LoginRequiredMixin``) are omitted to keep the picture readable. Bases in ``richy.core.views`` ----------------------------- .. code-block:: text ModelPaginatorMixin └── BaseNewsItemDetailView PaginatorMixin └── NewsTemplateView Subclasses in other apps ------------------------ ``BaseNewsItemDetailView`` is the per-item news page used by every asset type. Each per-app subclass mixes in that app's submenu mixin so the news page renders inside the app's own chrome. .. code-block:: text BaseNewsItemDetailView ├── richy.shares.views.NewsDetailView (+ ShareChildrenSubmenuViewMixin) ├── richy.etfs.views.NewsDetailView (+ EtfSubmenuViewMixin) ├── richy.indexes.views.NewsDetailView (+ IndexChildrenSubmenuViewMixin) └── richy.coins.views.NewsDetailView (+ CoinChildrenSubmenuViewMixin)