Python 使用flask将json提取到html中
我正在写一个基本的网站,到目前为止,它可以从表单中获取输入并将值添加到json文件中。我还可以在“json页面”中显示json数据。对于我所做的(json.dump(mygetjsonstuffunc),indent=4,sort_keys=True),这对站点的API部分非常有用 我还想做的是检索这些信息,并将其显示在“常规”html页面中,用户可以在其中获得更好的概述 到目前为止,我有一个名为SetValuesToHtml的函数,我希望它能为变量设置一个键的值,这是在render_模板调用之前在我的路径中调用的。但我不知道如何访问变量或其中存储的信息 这是我的完整视图.py: 问题(我希望?)是:Python 使用flask将json提取到html中,python,json,flask,Python,Json,Flask,我正在写一个基本的网站,到目前为止,它可以从表单中获取输入并将值添加到json文件中。我还可以在“json页面”中显示json数据。对于我所做的(json.dump(mygetjsonstuffunc),indent=4,sort_keys=True),这对站点的API部分非常有用 我还想做的是检索这些信息,并将其显示在“常规”html页面中,用户可以在其中获得更好的概述 到目前为止,我有一个名为SetValuesToHtml的函数,我希望它能为变量设置一个键的值,这是在render_模板调用之
@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
我不知所措,真的不知道去哪里寻求帮助,因此我向你求助。我很乐意接受一个直截了当的回答,但同样高兴的是,我会就应该阅读的内容给出指导
多谢各位
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']
而不是
for tech in data['techs']:
return data.endposition
pass
根据代码的其余部分,data['techs']是一个dict,而不是一个对象,其他地方使用的键是'endpos',而不是'endposition'。缩进有问题<代码>打开…不是功能体的一部分。即使此缩进在实际代码中是正确的,也不能在
for
循环中使用return
,因为return
将在第一次迭代时终止函数。还有两件事:不需要对使用with
打开的文件调用close()
。另外,我不理解pass
在代码中的几个点的预期功能。但请编辑您的问题,以确保缩进匹配您自己的代码。我没有注意到,当我粘贴代码时,它没有自动对齐ide中的方式。我道歉!至于关闭,我被告知总是在打开文件后关闭文件,以确保一致性。因为我没有遇到问题,所以我认为这是可行的。我学到的方法是让函数知道它已经离开了块,应该继续。迭代时返回或继续。我不知道返回结果是这样的。使用了with
,这样您就不必担心close()
,因为一旦退出紧随其后的缩进块,它会自动关闭文件。当前,对于数据中的技术['techs']:
不是SetValuesToHtml()
的一部分,因为它没有缩进到功能块的一部分,这意味着返回数据。endposition
没有意义。您不需要通过pass
来结束函数,该函数由缩进和return
确定。我知道这与你的主要问题无关,但这会使确定问题变得复杂。谢谢!我再次编辑了我的问题,使之与缩进正确对应。我尝试了一下,但只得到了一个新的错误。不过我会仔细阅读的。谢谢你抽出时间,没问题。我希望你能弄明白。