Skip to main content

Wagtail Content Stream

An abstract Django model with a Wagtail StreamField named body with multiple blocks I use on a regular basis. This is geared towards developers who need to write examples with code in them. It's opinionated: very little HTML is allowed in the text block, forcing authors to create structured data. The following blocks are included in ContentStreamBlock:

  • Heading
  • Paragraph
  • Captioned Image
  • Embed
  • Table
  • Code Block

A secondary StreamBlock, ContentStreamBlockWithRawCode, also provides an additional block for injecting HTML, JS, and CSS code. Use with care, as this can really blow up your markup and is a potential code injection point!

Three pages types are provided out-of-the-box.

Example Usage

You will need to add wagtailcodeblock to your INSTALLED_APPS Django setting.

Basic Usage: a Title Field and Content Stream

First, create a page type in your models.py:

from wagtailcontentstream.models import ContentStreamPage, SectionContentStreamPage, ContentStreamPageWithRawCode

class StandardPage(ContentStreamPage):
    pass

class SectionStandardPage(SectionContentStreamPage):
    pass

class StandardPageWithRawCode(ContentStreamPageWithRawCode):
    pass

Then in your template:

{% load wagtailcore_tags %}

<h2>{{ page.title }}</h2>
{% include_block page.body %}

Extended Usage: Adding More Fields

from django.conf import settings
from django.db import models
from wagtail.admin.edit_handlers import FieldPanel
from wagtailcontentstream.models import ContentStreamPage


class StandardPage(ContentStreamPage):
    date = models.DateField("Post Date")
    authors = models.ManyToManyField(settings.AUTH_USER_MODEL)

    content_panels = [
        FieldPanel('date'),
        FieldPanel('authors'),
    ] + ContentStreamPage.content_panels

Release Notes & Contributors

Project Maintainer

Release files for wagtailcontentstream 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wagtailcontentstream 1.0.0
File Size Uploaded
wagtailcontentstream-1.0.0.tar.gz 7.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wagtailcontentstream 1.0.0
File Interpreter ABI Platform
wagtailcontentstream-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.2 kB

Release files / wagtailcontentstream-1.0.0.tar.gz

Download URL wagtailcontentstream-1.0.0.tar.gz
Size 7.4 kB
Tags Source
SHA-256 checksum
How to use checksums
460ef53b00dd7273c821dc848cecf00af71473f86d36ec3a87bc1e2351fc5fa1
BLAKE2b-256 checksum
How to use checksums
21a9caaf3a4c0f15586533e14f1bf851dd907865a2d24c5e4b3e63b9df2f9aa5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3

Release files / wagtailcontentstream-1.0.0-py3-none-any.whl

Download URL wagtailcontentstream-1.0.0-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
681449e95f86bde99cd1786d289174a746311b2f4176b8b03e72bb65b9d83b1b
BLAKE2b-256 checksum
How to use checksums
77f9104b4fd90ffd76ddc063c7c77876a95033ce8334d8dfa64f321e2db5edc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.4

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page