烧瓶嵌套后期数据

时间:2012-08-10 01:36:44

标签: python flask

我正在尝试构建一种处理大量已发布选项的方法,例如

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页面的用户输入,这需要采用不同的方法。

2 个答案:

答案 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")