Python 如何将图表与摇尾CMS一起使用
我需要将自定义图表包括到streamfield函数中,如您所见 但是用户如何能够从wagtail管理员修改数据呢?我完全不知道如何才能做到这一点 我正在考虑一个表单,但是否可以将表单添加到streamfield?我想是的,我可以通过现有表单的链接来完成。但这似乎很难做到,也不是一个好主意 你觉得怎么样? 你的最佳实践是什么Python 如何将图表与摇尾CMS一起使用,python,django,charts,wagtail,wagtail-streamfield,Python,Django,Charts,Wagtail,Wagtail Streamfield,我需要将自定义图表包括到streamfield函数中,如您所见 但是用户如何能够从wagtail管理员修改数据呢?我完全不知道如何才能做到这一点 我正在考虑一个表单,但是否可以将表单添加到streamfield?我想是的,我可以通过现有表单的链接来完成。但这似乎很难做到,也不是一个好主意 你觉得怎么样? 你的最佳实践是什么 您是否有将Taucharts集成到CMS中的示例?您可以在blocks.py中创建一个自定义块,例如LineChartBlock(),它引用了一个名为line_chart.h
您是否有将Taucharts集成到CMS中的示例?您可以在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'
您的models.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>
const title=“{title}}”;
常量x=“{x}}”;
常量y=“{y}}”;
const data=“{data}}”;
MakeChartWizard=()=>{
多斯塔夫;
}
我做的一个类似项目是Wagtail代码块。在其中,我使用一个HTML文本区域来保存代码,并创建一个“预览区域”,显示代码的突出显示。您可以做类似的事情,让它构建图表所需的JSON。看一看:您应该知道如何输入数据(文件字段、文本区域、固定输入字段集、动态输入字段集)。只有当你能在CMS中存储你的数据后,你才能想办法输出它。Tauchart接受json。