【发布时间】:2017-09-22 22:24:12
【问题描述】:
大家好:我正在使用 Flask 开发一个简单的网络应用程序。我有一个 python 函数,它返回一组对象,然后我想在 html 页面中的模板(即{{ object1.value }})中呈现这些对象。我正在考虑创建一个包含对象值的字典,然后通过 GET 请求将其作为 jsonify 字符串传递到页面。
Flask 应用程序如下所示:
@app.route('/')
def hello():
python_func(object1,object2,object3...)
data = json.dumps({object1.key: object1.value, object2.key: object2.value ...})
if request.is_xhr:
return jsonify(data=data)
if request.method == "GET":
return render_template('main.html',data=data)
if __name__ == '__main__':
app.run()
html 页面如下所示:
<div class ="dice">
<div class ="dice-1">
<div class="card" id ="card1" >
<p>{{ data }}</p>
</div>
</div>
以及带有事件按钮的脚本。单击按钮时,对象值会更新:
<script>
$(function() {
$('#roll-button').click(function() {
$.get('/', function(data){
document.getElementById("card1").innerHTML = data.data;
})
});
});
</script>
这似乎可以将对象值传递给模板。当我更新页面时,我可以看到一个包含所有对象键和值的字符串对象。
我的问题是我不知道如何在模板中使用字符串。我对有关解码 json 的主题的文档 (https://docs.python.org/3.4/library/json.html) 感到困惑。
因此这个问题:如何解析包含所有要在模板内呈现的对象值的字符串,理想情况下如下所示:{{ object1.value }}, {{ object2.value }}, {{ object3.other_attribute }} 等...
我可以从 json 字符串创建一个 python 字典供我在模板中使用吗?
感谢您的帮助! 凸轮
【问题讨论】:
标签: python json templates flask