Settings reference

Every djiiif setting is optional except IIIF_PROFILES (needed for profile URLs). Anything unset simply leaves the corresponding feature off — no output changes until you configure it.

Core

Setting

Default

Purpose

IIIF_PROFILES

Maps profile name → dict / Profile / callable. Drives the .iiif.<name> URLs. See Profiles.

IIIF_IMAGE_API_VERSION

3

Generated document shape: 3 (ImageService3) or 2 (ImageService2). See Info and manifest documents.

IIIF_COMPLIANCE_LEVEL

"level2"

Compliance level advertised in info_document / manifest image service.

IIIF_INFO

unset

dict / InfoExtras / callable declaring optional info.json properties (sizes, tiles, size limits, rights, v3 capability lists). See Info and manifest documents.

Presentation & collections

Setting

Default

Purpose

IIIF_MANIFEST_DESCRIPTORS

unset

Callable (or dict) supplying manifest descriptive metadata. See Richer manifests & collections.

IIIF_COLLECTION_SOURCE

unset

Callable/iterable of (manifest_url, label[, thumbnail]) items for /iiif/collection. Unset ⇒ 404.

IIIF_COLLECTION_LABEL

"Collection"

Label for the served collection.

IIIF_NAVPLACE

unset

Callable / dotted-path returning a geometry (GeoJSON dict, GEOS geometry, (geometry, label), or None) added to the manifest as navPlace. See Richer manifests & collections.

Change Discovery

Setting

Default

Purpose

IIIF_ACTIVITY_SOURCE

unset

Callable / dotted-path / iterable of activity entries (ascending end_time). Unset ⇒ 404. See Harvestable streams (Change Discovery).

IIIF_ACTIVITY_PAGE_SIZE

100

Activities per OrderedCollectionPage.

Authorization

Setting

Default

Purpose

IIIF_AUTH

unset

ProbeService / dict / callable describing an Auth Flow 2.0 probe service. Requires IIIF_IMAGE_API_VERSION = 3. See Authorization (Auth Flow 2.0).

Startup validation

With djiiif in INSTALLED_APPS, manage.py check validates IIIF_PROFILES at startup — flagging a non-dict setting, an unsupported profile value, or a dict profile missing required keys before it can produce a broken URL. Callable and Profile entries are accepted as-is (a callable’s shape can only be verified when it runs).