我正在尝试构建一种处理大量已发布选项的方法,例如
my_posted_data = {"item": "value", "item_options":{"a":2, "b":2} }
这将来自api情况下的其他地方,我无法控制环境,现在就进行模拟。我将通过请求库发布;并且移动服务器端,我尝试从我的应用程序中的路由/视图中获取此信息。 request.form被读入一个传递给task_manager
队列的变量(表单)。在我将尝试做的任务中:
options = form.get("item_options", None)
options
始终以NoneType
结尾。为什么这不选择{"a": 2, "b": 2}
的dict(like)值?我想我做错了,但到目前为止我无法确定。
根据我提供的这张图片,如何以最有效的方式发布和检索Flask请求的嵌套值?
编辑:我不得不采用不同的方式,使用JSON数据,因为我意识到最好的情况,表单更多来自html页面的用户输入,这需要采用不同的方法。答案 0 :(得分:3)
通过在WTForms中使用带Field Enclosures的Flask-WTF,您可以轻松处理嵌套的帖子数据。
答案 1 :(得分:1)
最好的方法是使用Flask-WTF。如果不可能,那么如果request.form获得my_posted_data值,那么你的代码可能会正常工作。
from flask import Flask, render_template, request
@app.route("/")
def hello():
my_posted_data = {"item": "value", "item_options":{"a":2, "b":2}}
request.form = my_posted_data
options = request.form.get("item_options")