【发布时间】:2019-01-30 17:34:07
【问题描述】:
所以我创建了从计划中获取 json 数据并在烧瓶模板上使用 for 循环打印键值对的代码。对中的值位于文本字段中,您应该能够在提交时更新这些值。问题是我不知道如何循环完成日程表中的每一堂课,我只是设法完成了第一堂课。
这是我的表格
<form method="POST">
<body>
<h1>Uppdatera lektion</h1>
{%for dict_item in update%}
<br>
{%for key, value in dict_item.items()%}
<br>
<b>{{key}}</b>
<input type="text" name="values" value="{{value}}"/>
</br>
{%endfor%}
</br>
{%endfor%}
<input type=submit value=Registrera>
</body>
</form>
这是我的发帖方法
if request.method == "POST":
input_values = request.form.getlist("values")
url = "https://ltu.instructure.com/api/v1/calendar_events.json"
payload = {
'calendar_event[context_code]': "MY_USER",
'calendar_event[title]': input_values[0],
'calendar_event[start_at]': input_values[1]+"T"+input_values[2]+"Z",
'calendar_event[end_at]': input_values[3]+"T"+input_values[4]+"Z",
'calendar_event[description]': input_values[5]
}
headers = {
'Authorization': "MY_TOKEN",
'cache-control': "no-cache",
'Postman-Token': "e0bc1a1c-5baf-47f8-a2ce-62d476040e73"
}
r = requests.post(url, data=payload, headers=headers)
print(r.text)
return "Uppdateringen lyckades!"
这是带有键和值的讲座格式在浏览器上的样子
所以,是的,我需要一些关于如何继续并能够更新所有讲座的建议,而不仅仅是第一个。提前致谢!
【问题讨论】:
-
你应该看看基本的 HTML 格式。
form中的body标签不好。检查:stackoverflow.com/questions/30976969/… 另外,对多个输入字段使用相同的名称看起来也不是很好,因为每个实现都以不同的方式解析它。 -
@spaniard 好的,谢谢,但是你对我的问题有什么建议吗?
-
我在@user10712526 上发布了一些建议的答案,希望对您有所帮助。
标签: python html json post flask