问题标签 [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.
django - 是否可以限制 StreamField 只接受两个块?
标题说明了一切,我一直无法在网上找到任何其他信息。我想知道我是否有可能得到
正好接受两个块。
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 中意外添加多个MixedMediaCarouselBlock
s 而不是多个视频/图像的问题MixedMediaCarouselBlock
,我修改了一些 LESS CSS 来隐藏允许他们这样做的 UI:
在我的研发过程中,我遇到了 Wagtail 1.12 补丁说明,其中提到将min_num
、max_num
和block_counts
元属性添加到StreamBlock
,这听起来很有希望。但它们不会影响 UI;他们只是添加了服务器端验证,使无效的选择在 POST 后显示为表单错误。如果他们一开始就阻止了无效的更改,我实际上可以使用它们。
wagtail - 在 Wagtail 中以编程方式添加 StreamBlock 子项
我在下面有以下 StructBlock 和 StreamBlock:
我需要以编程方式将它和多个“项目”CharBlocks 添加到此页面:
这就是我接近它的方式
无论我在'accordion_repeater_block'之后的第二个元组值中输入什么,都会出错。任何想法如何解决这个问题?
django - 如何使 Wagtail Streamfield 不需要?
在下面的模型中,我想让整个bottom_content
字段都不需要。我怎样才能做到这一点?
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 中不起作用
如果有人可以对这个主题有更多的了解,那将不胜感激,因为至少如果我遇到错误,我可以寻求解决它。但我什么也没得到。
我哪里错了?
python - Wagtail:如何定义自定义块的 js_initializer 以便子块的 js_initializer 也运行?
我最初在 wagtail 问题队列上问了这个问题,我想这是错误的地方。(虽然我确实认为这是文档中的一个错误。)
无论如何,我的问题是我有一个在StructBlock
其中使用的自定义类ListBlock
。我需要js_initializer()
在我的自定义类上定义一个方法,该方法会导致表单同时触发我自己的初始化程序和 ListBlock
的初始化程序。
我最初的尝试,基于docs,看起来像这样:
这使ImageGallery()
函数运行,但没有运行ListBlock
的初始化程序,所以它的按钮都不起作用。
在 wagtail 问题队列中,建议我尝试这样的事情:
我必须对最初的建议进行一些改进才能使该ImageGallery()
部件发挥作用,但它仍然没有运行ListBlock
初始化程序。
以下是为其生成的初始化程序代码的ImageGalleryBlock
样子:
我觉得我真正需要做的是为正在传递的 dict 添加另一个键StructBlock
,但我没有最模糊的线索。
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 在提交按钮之前添加字段。我怎样才能做到这一点 ?
python - 如何确定 django 模板中的 wagtail 页面内容类型?
核心问题是模板的处理wagtail
RichTextField
和处理StreamField
完全不同。
我正在尝试完成类似于以下内容的事情:
python - Wagtail:如何在 model.py 中过滤流域中的文本
我想编写一个过滤器来替换我的流场文本中的一些 $variables$。在我的“页面”模型中执行此操作的最佳方法是什么?我尝试了以下方法,但如果我将模型保存为草稿并在之后发布,它有时会不起作用。有谁知道这样做的更好方法?
这只是用我的数据库中的值替换 $variables$ 的类。