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
File details
Details for the file wagtailcontentstream-1.0.0.tar.gz
.
File metadata
- Download URL: wagtailcontentstream-1.0.0.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 460ef53b00dd7273c821dc848cecf00af71473f86d36ec3a87bc1e2351fc5fa1 |
|
MD5 | a5b5ca4d858da6d7640152f5bf72e14f |
|
BLAKE2b-256 | 21a9caaf3a4c0f15586533e14f1bf851dd907865a2d24c5e4b3e63b9df2f9aa5 |
File details
Details for the file wagtailcontentstream-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: wagtailcontentstream-1.0.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 681449e95f86bde99cd1786d289174a746311b2f4176b8b03e72bb65b9d83b1b |
|
MD5 | 648cf30429916b99a5628bb12fdb2e5d |
|
BLAKE2b-256 | 77f9104b4fd90ffd76ddc063c7c77876a95033ce8334d8dfa64f321e2db5edc3 |