问题标签 [wagtail-streamfield]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1778 浏览

django - 是否可以限制 StreamField 只接受两个块?

标题说明了一切,我一直无法在网上找到任何其他信息。我想知道我是否有可能得到

正好接受两个块。

0 投票
1 回答
1095 浏览

django - 如何定义具有固定内容的 ListBlock 的子类?

有没有比这更好的方法来制作ListBlock具有固定内容的子类?

这样做感觉真的很糟糕,但我找不到任何其他明显的方法,因为它的构造函数ListBlock需要该child_block参数,而其他块类型则不需要。

我想要一个ListBlock子类的原因是将它用作我的一个页面中的单个块类型StreamField

也许我只是做错了?

编辑:是的,我肯定做错了什么。这根本不起作用,因为当我尝试使用此设置保存页面并进入AttributeError: 'MixedMediaCarouselBlock' object has no attribute 'child_blocks'wagtail/wagtailcore/blocks/stream_block.py 第 401 行时才发现。(Wagtail 1.12.2)。不过不知道为什么。

EDIT2:我听从@gasman 的建议,想出了这个:

但我仍然在页面编辑表单上得到一个块类型菜单(我正在使用 wagtail-facelift):

块类型菜单

更糟糕的是,表单允许我slides向 StreamField 添加多个实例,这很容易导致用户不小心制作了多个单元素 ListBlock,而不是一个多元素 ListBlock,这会破坏渲染器。我能做些什么呢?

EDIT3:这是我经过大量实验后想出的,但我一点也不喜欢它。

然后,为了解决用户在单个 s 中意外添加多个MixedMediaCarouselBlocks 而不是多个视频/图像的问题MixedMediaCarouselBlock,我修改了一些 LESS CSS 来隐藏允许他们这样做的 UI:

在我的研发过程中,我遇到了 Wagtail 1.12 补丁说明,其中提到将min_nummax_numblock_counts元属性添加到StreamBlock,这听起来很有希望。但它们不会影响 UI;他们只是添加了服务器端验证,使无效的选择在 POST 后显示为表单错误。如果他们一开始就阻止了无效的更改,我实际上可以使用它们。

0 投票
1 回答
1783 浏览

wagtail - 在 Wagtail 中以编程方式添加 StreamBlock 子项

我在下面有以下 StructBlock 和 StreamBlock:

我需要以编程方式将它和多个“项目”CharBlocks 添加到此页面:

这就是我接近它的方式

无论我在'accordion_repeater_block'之后的第二个元组值中输入什么,都会出错。任何想法如何解决这个问题?

0 投票
2 回答
2197 浏览

django - 如何使 Wagtail Streamfield 不需要?

在下面的模型中,我想让整个bottom_content字段都不需要。我怎样才能做到这一点?

0 投票
0 回答
890 浏览

preview - 我们在 Wagtail CMS 中的预览存在问题

我们在 Wagtail CMS 中的预览存在问题。我环顾了其他几个遇到此问题的人,但没有一个与我的相同。由于预览版甚至无法在 Dev 中运行,并且我们没有收到任何错误提示问题可能是什么。

我们使用 Wagtail 1.13.1 和 DJANGO 1.11.8

当我单击预览按钮时,它只会将我带到一个空白的新标签,没有错误或任何东西。

如果我检查按钮,我可以看到:

所以我拿了: /admin/pages/30/edit/preview/ 并手动粘贴到浏览器中,它给了我:

https://domain.dev:8000/admin/pages/30/edit/preview/

我仍然没有收到任何错误,这让我相信设置不正确或者这是 Wagtail 中的错误,因为它在 Dev、Staging 或 Prod 中不起作用

如果有人可以对这个主题有更多的了解,那将不胜感激,因为至少如果我遇到错误,我可以寻求解决它。但我什么也没得到。

我哪里错了?

0 投票
1 回答
844 浏览

python - Wagtail:如何定义自定义块的 js_initializer 以便子块的 js_initializer 也运行?

我最初在 wagtail 问题队列上问了这个问题,我想这是错误的地方。(虽然我确实认为这是文档中的一个错误。)

无论如何,我的问题是我有一个在StructBlock其中使用的自定义类ListBlock。我需要js_initializer()在我的自定义类上定义一个方法,该方法会导致表单同时触发我自己的初始化程序 ListBlock的初始化程序。

我最初的尝试,基于docs,看起来像这样:

这使ImageGallery()函数运行,但没有运行ListBlock的初始化程序,所以它的按钮都不起作用。

在 wagtail 问题队列中,建议我尝试这样的事情:

我必须对最初的建议进行一些改进才能使该ImageGallery()部件发挥作用,但它仍然没有运行ListBlock初始化程序。

以下是为其生成的初始化程序代码的ImageGalleryBlock样子:

我觉得我真正需要做的是为正在传递的 dict 添加另一个键StructBlock,但我没有最模糊的线索。

0 投票
1 回答
603 浏览

python - 如何在 HTML 页面中访问 wagtail FreeForm 的每个字段?

我通过扩展WagtailFormBlock下面给出的方法创建了 wagtail FreeForm。我可以使用wagtail admin interface.

文件名:blocks.py

这是models.py我在其中创建页面并将表单分配给该页面的文件。

文件名:models.py

这是我image_page.html要呈现表单字段的页面。

文件名:image_page.html

它显示与此页面关联的表单的所有字段。我想单独访问关联表单的每个字段,(e.g.: field name etc.)因为有时我需要使用 javascript 在提交按钮之前添加字段。我怎样才能做到这一点 ?

0 投票
0 回答
794 浏览

python - 如何确定 django 模板中的 wagtail 页面内容类型?

核心问题是模板的处理wagtail RichTextField和处理StreamField完全不同。

我正在尝试完成类似于以下内容的事情:

0 投票
1 回答
83 浏览

wagtail - StreamFieldPanel 太小

有没有办法阻止管理面板变得如此之小?我有嵌套 3 层深的元素,而第 3 层太窄了。我理解左边的缩进,但右边有很多浪费的空间。

在此处输入图像描述

0 投票
1 回答
859 浏览

python - Wagtail:如何在 model.py 中过滤流域中的文本

我想编写一个过滤器来替换我的流场文本中的一些 $variables$。在我的“页面”模型中执行此操作的最佳方法是什么?我尝试了以下方法,但如果我将模型保存为草稿并在之后发布,它有时会不起作用。有谁知道这样做的更好方法?

这只是用我的数据库中的值替换 $variables$ 的类。