Skip to main content

The CMS parts of Django.
Without the CMS.

Django Blueprint provides the models and fields every content project rebuilds — composable abstract bases, schema-validated JSON fields and a media library. It stays a library: no views, no templates, no lock-in.

from django.db import models

from blueprint.fields import FlexField
from blueprint.models import ContentModel


class Article(ContentModel):
title = models.CharField(max_length=200)
content = FlexField(ARTICLE_SCHEMA)
idfrom ContentModelUUID, auto
created_atfrom ContentModeltimestamp, auto
modified_atfrom ContentModeltimestamp, auto
edited_byfrom ContentModelFK to user

Common models, uncommon fields

Composable base models

UUID keys, timestamps, an editor reference, soft deletion, manual ordering and singletons — abstract bases you mix into your models with plain inheritance.

JSON with a schema

FlexField validates stored content against a JSON Schema, so editor-configurable content stays structured and validated at the data layer.

Soft deletion

Deleting stamps removed_at instead of dropping rows — instance and queryset deletes both — with separate managers for available objects.

Singletons

Settings-style models guaranteed single-row at the database level, with a manager that creates or updates on write.

Media library

Media and Folder models plus MediaField and ManyMediaField, with a file_type hint that editors like Content Studio can pick up.

URL paths and tags

A unique, normalized URL path field and a tag field that trims, lowercases and deduplicates — the small stuff, done right.