- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 FieldList 中的 FormField 中有一个自定义字段:locations
class LocationForm(Form):
id = HiddenField('id')
title = StringField(_l('Title'), [Required()])
location = CoordinatesField(_l('Coordinates'))
class ProjectForm(Form):
title = StringField(_l('Title'))
manager = StringField(_l('Manager'))
description = StringField(_l('Description'))
locations = FieldList(FormField(LocationForm), min_entries=1)
此表单在提交后会保存到如下对象:
document = {
'title': unicode,
'description': unicode,
'manager': unicode,
'locations': [{
'id': uuid.UUID,
'title': unicode,
'location': {'coordinates':[float], 'text':unicode}
}],
}
当我尝试将数据加载到 GET 处理程序的表单中时,一切除了位置加载正常:
f = form(MultiDict(document))
f.locations.data
>> {'id':'','title':'','location':''}
我进行了一些调试,发现 WTForms 在将文档数据加载到表单时搜索“locations-0-location”,但搜索 MultiDict() 但该键不存在。 MultiDict 不会将字典列表转换为键“locations-i-...”。
为这种嵌套数据结构制作 WTForm 的正确方法是什么?
最佳答案
使用 WTFORMS 2.1
数据:
document = {
'title': unicode,
'description': unicode,
'manager': unicode,
'locations': [{
'id': uuid.UUID,
'title': unicode,
'location': {'coordinates':[float], 'text':unicode}
}],
}
您使用 WTFORMS 设置数据结构:
class LocationForm(Form):
id = HiddenField('id')
title = StringField(_l('Title'), [Required()])
location = CoordinatesField(_l('Coordinates'))
class ProjectForm(Form):
title = StringField(_l('Title'))
manager = StringField(_l('Manager'))
description = StringField(_l('Description'))
locations = FieldList(FormField(LocationForm), min_entries=1)
试试这个:
f = ProjectForm()
f.process(data=document)
f.locations.data
关于python - WTForms:FormField 的 FieldList 无法加载嵌套数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25203059/
我正在尝试迭代 Formfield 中的 FormField,它们都是 FieldList 的一部分。 在我的 views.py 中,我调用 mainForm,模板通过 FormField subFo
我在 WTForms 中设置 FieldForm 的默认值时遇到问题。 models.py class RepairCategory(db.Model): name = ... class R
我正在使用 WTForms-JSON和处理嵌套表单。我想让内部表单可选,但如果存在内部表单,我希望它的字段是必需的。我遇到的问题是 FormField不接受验证器。 (虽然我使用的是 WTForms-
这个问题有一个 Stackblitz:stackblitz.com/edit/angular-material-starter-template-8ojscv . 我已经实现了 custom Angu
我正在尝试添加字段和注释,但是当我尝试设置值时,出现此错误object.must.be.indirect.to.work.with.this.wrapper 。似乎无论设置哪个字段或在何处设置,都会发
当我使用 WTForms-JSON 时,嵌套表单 (FormFields) 没有填充数据。我无法发现我的错误,请参见下面的示例。 from flask import Flask, request, j
我有一个表格 wtform , 我想添加一个新表格 JobItemForm到我的表格JobForm使用 append_entry . JobItemForm有selectField名为 company
我们有以下表单,我们正在尝试为每个组创建 GroupRoleForms 列表。 class FullNameMixIn(): full_name = TextField( 'F
我正在自定义 NewForm.aspx 页面,并以文本框的形式创建了一些新的 SharePoint:FormFields。我希望根据具体情况自定义这些框的高度,但我无法弄清楚。 我研究过 Displa
我正在尝试弄清楚如何遍历文档并提取所有表单域并将它们插入到新的文本文件中。我正在研究它,试图找到我将需要的功能的示例,但我没有提供很多信息。也许我没有正确搜索。这是我到目前为止所写的内容。 using
我在 FieldList 中的 FormField 中有一个自定义字段:locations class LocationForm(Form): id = HiddenField('id')
我正在使用 Flask 构建网站我在其中使用 WTForms .在 Form 中,我现在想使用 FormFields 的 FieldList,如下所示: class LocationForm(Form
我正在尝试使用 WTF 字段、FormField、FieldList 创建一个 ListItem 表单: forms.py class WarehouseTicketItemForm(Form):
在 Symfony 项目中,我有一个表单 EventSubscriber 作用于多个表单。 它旨在禁用已填充的每个字段。 在订阅者中,当我使用: $childOptions = $child->get
iText 7 表单字段中的默认行距似乎是 2 或 1.5,但我真的很想删除行距。通常,我通过调用 setMultipliedLeading(..) 来设置行间距。在 Paragraph对象,但都不是
我在路由中使用它从表单获取数据时遇到问题 forms.py class Calculator(Form): amount = IntegerField('Amount') weight
我有一个类似下面的表格: class ConsentFormTpl(forms.Form): title = forms.CharField() message = forms.Ch
我是 Flutter 的新手,我在创建自定义表单域方面遇到了一些困难。问题是我的自定义 FormField 中的验证器和 onSaved 方法都没有被调用。我真的不知道为什么当我触发 formKey.
我有一个 Flask 应用程序,我可以通过上传一个 CSV 文件来填充表单数据,然后读取该文件。我想用从 CSV 读取的数据填充一个 FieldList。但是,当我尝试填充数据时,它会将原始 HTML
我在 Word 2013 中有一个模板文档,其中用户填写了大量旧文本表单域。在文档的末尾,我包含了一个按钮,可将答案编译为没有格式的字符串,然后将其复制到剪贴板。 它可以工作,但是当读取每个 Form
我是一名优秀的程序员,十分优秀!