跳转到主要内容

grafl.io 集成到 Wagtail CMS

项目描述

Wagtail-Grafl

使用 Grafl.io 绘图服务在 Wagtail streamfields 中创建图表。

安装

PyPI 安装

pip install wagtail-grafl

然后,将以下内容添加到您的项目 INSTALLED_APPS 中。

'wagtail_grafl',

开箱即用

目前 wagtail-grafl 中有三种块可用。

GraflBlock

用于创建基本 Grafl 图的常用块。

它包含一个用于输入 Grafl 图表数据的单个 JSON 字段。它继承自 BaseGraflBlock

JsonBlock

简单格式化的 JSON 字段,具有基本验证,并包含在 GraflBlock 中。

BaseGraflBlock

提供了 BaseGraflBlock 以便于扩展 wagtail-grafl 并构建您自己的定制 Grafl 块。

它提供了需要在继承自本类的任何块中重写的 get_grafl_data 方法。

get_grafl_data 方法应返回一个 Grafl 兼容数据的字典。

这使得自定义块能够从其他来源获取数据并程序化地生成 Grafl 图。

设置

  • WAGTAIL_GRAFL_PLOT_DEFAULTS - 一个可选的默认参数字典,它将与块的 grafl 数据合并。这对于指定应在所有 Grafl 图块中保持一致的参数很有用。

示例用法

将 StreamBlock 添加到 Wagtail 页面上的 StreamField

from wagtail import blocks
from wagtail_grafl.blocks import GraflBlock

class MyStreamBlock(blocks.StreamBlock):
    grafl_plot = GraflBlock()

StreamBlock 添加到 Wagtail 页面上的 StreamField

from wagtail.admin.edit_handlers import StreamFieldPanel
from wagtail.fields import StreamField
from wagtail.models import Page

from .blocks import MyStreamBlock


class MyPage(Page):

    body = StreamField(MyStreamBlock(), null=True)

    content_panels = Page.content_panels + [
        StreamFieldPanel('body'),
    ]

然后在页面模板中

{% load static wagtailcore_tags %}

{% include_block page.body %}

关于 Grafl

Grafl 是一种绘图服务,可以用于从基本 JSON 数据生成图表。它基于 Plotly,免费使用且非常灵活。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

wagtail_grafl-0.0.2.tar.gz (7.1 kB 查看哈希值)

上传时间

构建分发

wagtail_grafl-0.0.2-py3-none-any.whl (7.2 kB 查看哈希值)

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面