Wagtail Content Stream provides a StreamField of standard content types.
Project description
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
- Thank you to our wonderful contributors!
- Release notes are available on GitHub.
Project Maintainer
- Timothy Allen (https://github.com/FlipperPA)
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
Hashes for wagtailcontentstream-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 460ef53b00dd7273c821dc848cecf00af71473f86d36ec3a87bc1e2351fc5fa1 |
|
MD5 | a5b5ca4d858da6d7640152f5bf72e14f |
|
BLAKE2b-256 | 21a9caaf3a4c0f15586533e14f1bf851dd907865a2d24c5e4b3e63b9df2f9aa5 |
Hashes for wagtailcontentstream-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 681449e95f86bde99cd1786d289174a746311b2f4176b8b03e72bb65b9d83b1b |
|
MD5 | 648cf30429916b99a5628bb12fdb2e5d |
|
BLAKE2b-256 | 77f9104b4fd90ffd76ddc063c7c77876a95033ce8334d8dfa64f321e2db5edc3 |