为 wagtail 块构建自定义模板StreamField
我发现自己处于需要以某种方式将当前块的 ID 传递给其他视图的情况。
例如,当在特定块中单击 URL 时,登录页面view
必须准确知道该 URL 是在哪个块中被单击的。然后view
可以提取与特定块相关联但不一定在视觉上呈现给用户的其他信息。
我目前的策略是使用snippets
,所以我可以传递 的 IDsnippet
并且view
可以获得相关但事先隐藏的数据。
这工作还不错,但人们必须在两个地方编辑内容,我必须看看他们悲伤的脸。
似乎value
块模板上下文中的变量是 的一个实例wagtail.core.blocks.struct_block.StructValue
,它使我可以访问块的所有字段,但它似乎没有显示它在数据库中的足迹。
此外value
还有一个有趣的属性:value.block
,它似乎是用于构造块的实际模型的一个实例,但我再次找不到任何有用的东西,例如id
或pk
允许在数据库中识别该实例。
有办法吗?