Developer framework for integrating custom content models with django CMS.
Project description
Developer framework for integrating custom content models with django CMS.
Description
djangocms-custom-content provides a developer-friendly framework to quickly build and integrate your own custom content models with django CMS.
It helps you define CMS-enabled custom models with minimal boilerplate. Depending on your project needs, it can optionally add:
apphooks for dedicated content sections/URLs
frontend editable placeholders
versioning support
relationships to other content types or existing domain models
The package also includes ready-to-use CMS plugins for displaying custom content items (e.g. detail/teaser views), as well as patterns for related and featured content.
Features
Fast setup for custom content models and CMS integration
CMS plugins for rendering content, related content, and featured content
Optional apphooks, versioning, and model relationships
Compatible with django CMS 5.0 and later
Support for Django 5.2 through 6.0
Easy integration into existing django CMS projects
Installation
Install the package using pip:
pip install djangocms-custom-content
Add it to your INSTALLED_APPS:
INSTALLED_APPS = [
...
'djangocms_custom_content',
...
]
Run migrations:
python manage.py migrate djangocms_custom_content
Usage
This package is intended to be extended in your project:
Define one or more custom content models.
Register and configure the provided CMS integration (admin + plugins).
Use the included plugins to place and render your content in placeholders.
- Optionally enable apphooks/versioning/relationships for richer content
architectures.
The exact configuration depends on your project and the content types you build.
To learn how to build your own model-based content types with this framework, see the documentation section “Creating custom models”:
Contrib examples
This package ships optional, small example apps under djangocms_custom_content.contrib. They are intended as quick starting points (models + admin + django CMS plugins) and can be enabled in a project as-is or copied and adapted.
Available example modules:
djangocms_custom_content.contrib.people: Simple Person model + “Person” teaser plugin
djangocms_custom_content.contrib.services: Simple Service model + teaser + “featured services” plugin
djangocms_custom_content.contrib.categories: Simple taxonomy + category list plugin
djangocms_custom_content.contrib.blog: Simple blog posts with category relationship + teaser + latest posts plugin
To enable one (or more) of them, add the module(s) to INSTALLED_APPS and run migrations:
INSTALLED_APPS = [
...,
'djangocms_custom_content',
'djangocms_custom_content.contrib.people', # contrib are optional
'djangocms_custom_content.contrib.services',
'djangocms_custom_content.contrib.categories',
'djangocms_custom_content.contrib.blog',
...,
]
python manage.py migrate
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the BSD-3-Clause License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file djangocms_custom_content-0.5.0.tar.gz.
File metadata
- Download URL: djangocms_custom_content-0.5.0.tar.gz
- Upload date:
- Size: 92.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ff6871c9ef0adccc86e036bb208594f353ca5f31c1301460aab5a1b42679f85
|
|
| MD5 |
0c03fb26e29089e880d35a069a6d16ee
|
|
| BLAKE2b-256 |
02aaae1a8621cdb1b7de4e2aa66c82b45dbe08c896e15e1c4e4f94de8752e4da
|
Provenance
The following attestation bundles were made for djangocms_custom_content-0.5.0.tar.gz:
Publisher:
publish-to-live-pypi.yml on fsbraun/djangocms-custom-content
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
djangocms_custom_content-0.5.0.tar.gz -
Subject digest:
4ff6871c9ef0adccc86e036bb208594f353ca5f31c1301460aab5a1b42679f85 - Sigstore transparency entry: 1979811007
- Sigstore integration time:
-
Permalink:
fsbraun/djangocms-custom-content@f6f303eb1a76358a91b7b7e2ef92dbb1a64f53e0 -
Branch / Tag:
refs/tags/0.5.0 - Owner: https://github.com/fsbraun
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-live-pypi.yml@f6f303eb1a76358a91b7b7e2ef92dbb1a64f53e0 -
Trigger Event:
release
-
Statement type:
File details
Details for the file djangocms_custom_content-0.5.0-py3-none-any.whl.
File metadata
- Download URL: djangocms_custom_content-0.5.0-py3-none-any.whl
- Upload date:
- Size: 62.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6f52cbaed545b2594defb3f75822ec2692843ccbcd711672d491193c7358a63
|
|
| MD5 |
526b6c9ad04462bc7ce8947832e095f0
|
|
| BLAKE2b-256 |
b76d2f4dfe82c2a362c8f7f4c0dce3c9c66c3663f47f5716cbf6562a29e6d461
|
Provenance
The following attestation bundles were made for djangocms_custom_content-0.5.0-py3-none-any.whl:
Publisher:
publish-to-live-pypi.yml on fsbraun/djangocms-custom-content
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
djangocms_custom_content-0.5.0-py3-none-any.whl -
Subject digest:
c6f52cbaed545b2594defb3f75822ec2692843ccbcd711672d491193c7358a63 - Sigstore transparency entry: 1979811112
- Sigstore integration time:
-
Permalink:
fsbraun/djangocms-custom-content@f6f303eb1a76358a91b7b7e2ef92dbb1a64f53e0 -
Branch / Tag:
refs/tags/0.5.0 - Owner: https://github.com/fsbraun
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-live-pypi.yml@f6f303eb1a76358a91b7b7e2ef92dbb1a64f53e0 -
Trigger Event:
release
-
Statement type: