entirius-django-contentdb
A Django module for page content of Entirius, the open-source modular ecommerce platform: structured JSON pages with a draft/publish workflow. It serves routes, images, channel-scoped content and blog authors over a REST API for the storefront and the CMS.
What it does
- Stores page content as structured JSON (sections and tiles) with a draft/publish lifecycle.
- Maps URL routes to published content and scopes content per sales channel and language.
- Uploads images with content-addressed deduplication, resizing and thumbnails.
- Manages blog authors and co-authors on drafts.
- Exposes a read-only public API for storefronts and an admin API for the CMS.
Installation
uv add entirius-django-contentdb
pip install entirius-django-contentdb
INSTALLED_APPS = [
...
"django_regional",
"django_utils",
"django_pim",
"django_contentdb",
]
# urls.py
urlpatterns = [
path("", include("django_contentdb.urls")),
]
Optional settings: CONTENTDB_THUMBNAIL_QUALITY, CONTENTDB_IMAGE_MAX_WIDTH, API_ADMIN_BASE_URL,
API_PUBLIC_BASE_URL; reference with defaults in
https://github.com/entirius/entirius-django-contentdb/blob/develop/AGENTS.md (section Settings).
Quick start
from django_contentdb.services.navigation_service import get_published_navigation
navigation = get_published_navigation(
content_type_slug="header",
language_iso2="en",
channel_idx="default",
)
Requirements
- Python 3.11 or newer, Django 4.0 or newer.
- PostgreSQL (published-content queries use
DISTINCT ON). - Entirius packages pulled in:
entirius-django-pim,entirius-django-regional,entirius-django-utils,entirius-py-idx-normalizator,entirius-py-image-transformations.
Documentation
- Module docs: https://github.com/entirius/entirius-django-contentdb/tree/develop/docs
- Entirius documentation: https://docs.entirius.com/
- Changelog: https://github.com/entirius/entirius-django-contentdb/blob/develop/CHANGELOG.md
Part of Entirius
This module runs inside the Entirius backend service (Volkanos), next to the product and regional modules.
- Backend service: https://github.com/entirius/entirius-service-volkanos
- Docker harness: https://github.com/entirius/entirius-zeno
- Sibling modules: https://github.com/entirius/entirius-django-pim, https://github.com/entirius/entirius-django-regional, https://github.com/entirius/entirius-django-contentdb-translator
Development
make install # sync dependencies (uv)
make check # lint + format check (ruff)
make test # test suite (pytest + pytest-django, needs PostgreSQL via DATABASE_URL)
Development and agent instructions: https://github.com/entirius/entirius-django-contentdb/blob/develop/AGENTS.md
License
Mozilla Public License 2.0 (MPL-2.0) — see https://github.com/entirius/entirius-django-contentdb/blob/develop/LICENSE.
Metadata
Release files for entirius-django-contentdb 5.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| entirius_django_contentdb-5.2.0.tar.gz | 213.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| entirius_django_contentdb-5.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 333.8 kB
Release files / entirius_django_contentdb-5.2.0.tar.gz
| Download URL | entirius_django_contentdb-5.2.0.tar.gz |
|---|---|
| Size | 213.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c77574463750a1301f3357fd532003e0e56d9f95d91fa9084b97d17549b865f0
|
|
BLAKE2b-256 checksum How to use checksums |
0bdbf67717865c8fb6293f7fe441da29604f37b45fde190fc11dbc79f752049e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / entirius_django_contentdb-5.2.0-py3-none-any.whl
| Download URL | entirius_django_contentdb-5.2.0-py3-none-any.whl |
|---|---|
| Size | 120.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1afe886cdfcc863c57c655689e1390e966291e39f56a664334ae057c5cb4876d
|
|
BLAKE2b-256 checksum How to use checksums |
31f6ac27a30bf4031df37ccdd4c2ef55f3ccece9d8d323d09bfc4d616b23e648
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|