使用烧瓶

时间:2017-01-08 09:45:06

标签: python json flask

我正在编写一个基本网站,到目前为止可以从表单中获取输入并将值添加到json文件中。我还可以在" json页面中显示json数据"。为此我做(json.dump(myGetJsonStuffFunc),indent = 4,sort_keys = True)这对网站的API部分起作用。

我还想做的是检索该信息并将其显示在"常规" html页面,用户可以在其中获得更好的概述。

到目前为止,我有一个名为SetValuesToHtml的函数,我希望它能为变量设置一个键的值,并在render_template调用之前在我的路由中调用它。但我无法弄清楚如何既不访问变量也不访问存储在其中的信息。

这是我的完整views.py: http://pastebin.com/cneKMtZf

问题(我希望?)是这些:

@app.route('/collection', methods = ['GET'])
def collectionH():
    data = SetValuesToHtml()

return render_template(
    'collection.html',
    title='This is our collection'
    )

和功能:

def SetValuesToHtml():
    checkData()


    with open(filename+".json", "r") as infile:
        data = json.load(infile)
        infile.close()
        pass

    for tech in data['techs']:
        return data.endposition
    pass

我不知所措,并不知道在哪里寻求帮助,因此我会联系到你。我很乐意直截了当地回答,但同样高兴的是,我会指出要阅读的内容。

谢谢

1 个答案:

答案 0 :(得分:0)

iglob

我怀疑最后几行应该是

def SetValuesToHtml():
    checkData()


    with open(filename+".json", "r") as infile:
        data = json.load(infile)
        infile.close()
        pass

    for tech in data['techs']:
        return data.endposition
        pass

而不是

    return data['techs']['endpos']

根据你的其余代码,数据['techs']是一个字典,而不是一个对象,其他地方使用的密钥是'endpos',而不是'endposition'。