2012-08-10 55 views
3

我試圖建立的方式來處理大量的發佈選項,例如燒瓶嵌套後的數據

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}的字典(like)值?我想我做錯了,但在這一點上我無法查明。

根據我提供了這個很少的畫面,我該如何發佈和和最有效的方式檢索與瓶請求嵌套值?

編輯:我必須採用不同的方式,使用json數據,因爲我意識到最好的情況,表單更多的是來自HTML頁面的用戶輸入,而這是需要不同方法的東西。

回答

3

通過WTForms使用燒瓶WTF與Field Enclosures,你可以輕鬆地處理嵌套後的數據。

+0

我本來應該更清晰,我知道,但數據傳入是從任何地方 - 它的API的情況,但是,是我可以看到這個值。我還沒有使用wtforms很多,但我想我很清楚,我可能需要在這裏,而不是花時間建立我自己的解決方案。一個經典的基礎知識的案例,然後不理解使其他部分更復雜的一些細節。 – blueblank 2012-08-10 14:49:24

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