我有一個Flask路徑,它使用boto3驗證並連接到AWS DynamoDB,並通過掃描來拉取整個表,並將結果作爲JSON返回。我想將結果呈現爲HTML,但將JSON傳遞到render_template
不起作用,我得到500內部服務器錯誤。我如何呈現數據?從Jinja模板中的DynamoDB呈現數據
@app.route("/x/")
def x():
#Authentication and connection omitted
table = dynamodb.Table(table_name)
response = table.scan()
js = json.dump(response)
#return js
return render_template('test.html', data=js)
<ul>
{% for item in data %}
<li>{{ item.Make}}</li>
<li>{{ item.Model}}</li>
<li>{{ item.Year}}</li>
{% endfor %}
</ul>
我要輸出的數據是這樣的:
Honda
Civic
2013
Toyota
Camry
1999
JSON數據:
{
"Count": 2,
"Items": [
{
"Make": "Honda",
"Model": "Civic",
"Year": "2013"
},
{
"Make": "Toyota",
"Model": "Camry",
"Year": "1999"
}
],
"ResponseMetadata": {
"HTTPStatusCode": 200,
"RequestId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
},
"ScannedCount": 2
}
我編輯的問題,以增加更多的細節,你認爲這足以是一個正確的問題,或者我應該增加更多的細節? –
如果你的回答是js,它是從字符串返回字典的加載(str)。否則,如果這是一個字典,你不必轉儲它,把它傳遞給視圖。 –