django - 如何在 wagtail cms 2.13.x 中呈现 FieldBlock?
问题描述
从 Wagtail 2.13.x 开始,从 FieldBlock 中删除了 render_form 方法(大多数默认块继承的块,例如 CharBlock、TextBlock 等)
这些块是如何使用 Wagtail 2.13.x 呈现的?
渲染块的测试如下:
def test_form_render(self):
block = FormChooserBlock()
test_form_html = block.render_form(self.form, "form")
expected_html = "\n".join(
[
'<select name="form" placeholder="" id="form">',
'<option value="">---------</option>',
'<option value="%s" selected>Basic Form</option>' % self.form.id,
"</select>",
]
)
self.assertInHTML(expected_html, test_form_html)
显然,当升级到 wagtail 2.13.x 时,这个测试会中断,因为 render_form 方法不再是 block 的属性。
解决方案
呈现表单现在完全在客户端 Javascript 中处理。render_form 方法不会有直接的等价物。因此,不再需要此测试。您基本上是在测试 Wagtail 自己的功能。
推荐阅读
- azure - 受 OAuth2.0 保护的 Azure api:无法在 Postman 中获取身份验证令牌
- lua - 如何提取命令的变量?
- javascript - jQuery mouseover 函数在 $(window).resize 之后仍然触发
- java - 错误:java.lang.IllegalArgumentException:密码散列(没有回显的提示)使用 java.io.Console 安全地读取密码
- android - TAG 216 PWD_AUTH 命令在使用 NFC Tols 设置密码后失败
- c# - 在 c# windows 窗体应用程序中使用 showDialog() 方法打开窗体后未触发串行端口事件
- node.js - 使用 node.js 标准环境在 AppEngine 上找不到模块 @google-cloud/firestore
- wordpress - 更改联系表 7 默认时间格式
- c# - 外部 dll SEHException ntdll 崩溃
- mysql - 计算mysql数据表中有多少行和列