我需要在流域函数中包含自定义图表,就像您发现的with Tauchart。
但是用户如何从Wagtail管理员修改数据?我完全不知道该怎么做。
我正在考虑表单,但是可以将表单添加到流场吗?我想是的,我可以通过链接到现有表格来做到这一点。但这似乎很难做到,也不是一个好主意。
您如何看待? 什么是最佳做法?
您有Taucharts集成到CMS中的任何示例吗?
答案 0 :(得分:0)
您可以在blocks.py中创建一个自定义块,例如LineChartBlock()引用了一个名为line_chart.html的模板。您需要将自定义块导入到models.py文件中,以将其添加到StreamField中。然后,CMS管理员端的用户可以输入值并将其保存为参数。然后,您可以将其作为动态JavaScript变量传递到模板中,以用于创建自定义图表。这是一个超级粗糙的主意...
所以blocks.py看起来像这样:
from wagtail.core import blocks
class LineChartBlock(blocks.StructBlock):
title = blocks.CharBlock()
x = blocks.DecimalBlock()
y = blocks.DecimalBlock()
data = JSONField()
class Meta:
template = 'blocks/line_chart.html'
您的模型。py:
class BlogPage(Page):
body = StreamField([
('paragraph', RichTextBlock()),
('line_chart', LineChartBlock()),
])
您的模板:
<script>
const title = "{{ title }}";
const x = "{{ x }}";
const y = "{{ y }}";
const data = "{{ data }}";
makeChartWizardry = () => {
doStuff;
}
</script>
<section>
<div id="chart"></div>
</section>