Glossary

rendition

A resized or reformatted version of an uploaded image, generated by Wagtail on demand. Django Cast creates multiple renditions per image at different widths (1x, 2x, 3x) and in multiple formats (AVIF, JPEG by default) so that browsers can pick the best variant via srcset. Rendition filters are built by cast.renditions and managed in bulk by the sync_renditions management command.

StreamField

A Wagtail field type that stores structured content as a sequence of typed blocks. In Django Cast, every Post has a body StreamField with two top-level sections – overview (shown on index pages) and detail (shown on the full post page). Each section can contain heading, paragraph, code, image, gallery, embed, video, and audio blocks. See src/cast/blocks.py for the block definitions.

chooser

A Wagtail admin widget that lets editors pick a related object (image, audio, video) via a modal dialog. Django Cast provides AdminAudioChooser and AdminVideoChooser in src/cast/widgets.py alongside their telepath adapters so that the choosers work inside StreamField editors.

collection

A Wagtail grouping mechanism used to organize media assets. Django Cast’s Audio, Video, and Transcript models inherit from Wagtail’s CollectionMember, which gives each instance a collection foreign key. Collections can be used to control permissions and to group media by site or purpose.

facade mode

A loading strategy for the Podlove podcast player on post detail pages. When podlove_load_mode is set to "facade", the server renders a static preview (cover art, title, play button, and progress bar) inside the <podlove-player> element. The actual player is loaded lazily via IntersectionObserver and injected into the existing container, avoiding heavy upfront JavaScript on page load.

repository pattern

An abstraction layer between the database and templates used to batch-load all data needed to render a page in minimal queries. Repository classes such as PostQuerySnapshot, PostDetailContext, BlogIndexContext, and FeedContext (in src/cast/models/repository/) pre-fetch images, renditions, audio, video, and metadata, then expose them as dictionaries that the template layer and StreamField blocks can look up by primary key.