我正在使用Flask构建网站,在其中使用WTForms。在表单中,我现在要使用FormFields的FieldList,如下所示:
class LocationForm(Form):
location_id = StringField('location_id')
city = StringField('city')
class CompanyForm(Form):
company_name = StringField('company_name')
locations = FieldList(FormField(LocationForm))
因此,为了使人们能够进入具有两个地点的公司(稍后会动态添加地点),我在正面进行了此操作:
<form action="" method="post" role="form">
{{ companyForm.hidden_tag() }}
{{ companyForm.company_name() }}
{{ locationForm.location_id() }}
{{ locationForm.city() }}
{{ locationForm.location_id() }}
{{ locationForm.city() }}
<input type="submit" value="Submit!" />
</form>
所以在提交时,我打印位置:
print companyForm.locations.data
但我明白了
[{'location_id': u'', 'city': u''}]
我可以使用locationForm打印第一个位置的值(请参见下文),但是我仍然不知道如何获取第二个位置的数据。
print locationForm.location_id.data
print locationForm.city.data
因此,位置列表确实有一个带空值的字典,但是:
对于初学者,FieldList有一个名为的参数min_entries
,它将为你的数据腾出空间:
class CompanyForm(Form):
company_name = StringField('company_name')
locations = FieldList(FormField(LocationForm), min_entries=2)
这将按照你需要的方式设置列表。接下来,你应该直接从locations
属性渲染字段,以便正确生成名称:
<form action="" method="post" role="form">
{{ companyForm.hidden_tag() }}
{{ companyForm.company_name() }}
{{ companyForm.locations() }}
<input type="submit" value="Submit!" />
</form>
查看呈现的html,输入应具有如的名称locations-0-city
,这样WTForms将知道是哪个。
(仅在wtforms中l.city
是的简写l.form.city
。但是,该语法似乎与Jinja冲突,因此有必要l.form.city
在模板中使用显式。)
现在准备好提交的数据,只需创建CompanyForm
和遍历以下位置:
for entry in form.locations.entries:
print entry.data['location_id']
print entry.data['city']
如何使用
将一段文档传入BeautifulSoup 的构造方法,就能得到一个文档的对象, 可以传入一段字符串或一个文件句柄. from bs4 import BeautifulSoup soup = BeautifulSoup(open("index.html")) soup = BeautifulSoup("<html>data</html>") 首先,文档被转换成Unicode,并且HTML的实例
基础运用 Redis::set('user:profile:' . $id, "Swoft"); $userDesc = Redis::get('user:profile:' . $id); 你可以通过 Redis:: 调用任何 Redis 命令。Swoft 使用魔术方法将命令传递给 Redis 服务端,因此只需传递 Redis 命令所需的参数即可。示例: Redis::set('name',
引入 WeUI.css文件 利用 vue init mpvue/mpvue-quickstart my-project 初始化一个 mpvue 项目,然后在 /src/main.js 中引入 weui.css 由于是在小程序中使用,于是就直接使用了 weiui-wxss 中的样式文件,官方提供的是 weui.wxss,因此手动转成了 weui.css,然后引入即可。 这里提供 weui.css 一
将一段文档传入BeautifulSoup 的构造方法,就能得到一个文档的对象, 可以传入一段字符串或一个文件句柄. from bs4 import BeautifulSoup soup = BeautifulSoup(open("index.html")) soup = BeautifulSoup("<html>data</html>") 首先,文档被转换成Unicode,并且HTML的实例
目录 简介 定义资源 主流框架的默认适配 抛出异常的方式定义资源 返回布尔值方式定义资源 注解方式定义资源 异步调用支持 规则的种类 流量控制规则 熔断降级规则 系统保护规则 访问控制规则 热点规则 查询修改规则 定制规则推送方式 其它 API 业务异常统计 Tracer 上下文工具类 ContextUtil 指标统计配置 规则生效的效果 判断限流降级异常 Dashboard 实时监控 简介 Se