python - 更干净的 Python 建议
问题描述
好奇是否有更简洁的方法来设置这些表单值,而不是一一列出。venue_items
字典不包含任何未在此处声明的额外 (key, value) 对,如果这有什么不同的话。
form.name.data = venue_items["name"]
form.city.data = venue_items["city"]
form.state.data = venue_items["state"]
form.address.data = venue_items["address"]
form.phone.data = venue_items["phone"]
form.image_link.data = venue_items["image_link"]
form.facebook_link.data = venue_items["facebook_link"]
form.genres.data = venue_items["genres"]
form.website.data = venue_items["website"]
form.seeking_talent.data = venue_items["seeking_talent"]
form.seeking_description.data = venue_items["seeking_description"]
解决方案
我的意思是,有一种方法可以动态地执行此操作,例如:
for key, value in venue_items.items():
getattr(form, key).data = value
或者,如果您的 dict 包含不会使用的额外键值对,例如:
keys = ["name", "city", "state", "address", "phone", "image_link", "facebook_link",
"genres", "website", "seeking_talent", "seeking_description"]
for key in keys:
getattr(form, key).data = venue_items[key]
推荐阅读
- google-dfp - Google 广告管理器广告位尺寸默认行为
- python - 用于在 kubernetes 中读取超过 1 个 pod 中的文件和请求的 Python
- javascript - Tampermonkey 用户脚本使用 alt 标签滚动到第一个图像
- java - RabbitTemplate 的 waitForConfirms 和阻塞相关数据回调的性能差异
- arrays - 在 Julia 中构建遍历多个索引的数组
- python - 为什么在 tensorflow 标签中创建的数据集中显示形状和数据类型信息?
- c# - 有没有办法在接口的所有实例上调用方法?
- swift - Swift App:“VNDocumentCameraViewController”如何通过关闭 ViewController 来释放内存?
- r - 如何在列表中应用 lag 命令?
- javascript - Javascript DOM如何隐藏不合适的复选框