python - Flask 模板在页面加载时执行 HTML onclick 功能
问题描述
我的模板将多张卡片呈现到页面,我希望每张卡片都有“添加到收藏夹”按钮,以将卡片信息作为对象保存到数据库。问题是当我重新加载页面时,它对所有项目执行功能并且根本不响应点击。
card.html https://codepen.io/bordax/pen/YzWWQrb
应用程序.py
def add_to_favorites(item):
print(item['name'])
@app.route("/favorites")
def favorites():
# Array of objects
data = info_filter(food_data)
return render_template("cards.html", data=data, add=add_to_favorites)
解决方案
当您{{ stuff }}
在模板中使用时,stuff
将由 Flask 作为构建页面的一部分执行。{{ }}
在浏览器看到页面之前,通过评估块填充模板发生在服务器端。相反,当用户点击网页上的某些内容时,Flask 已经不在画面中并且对此类点击一无所知,除非网页明确执行某些操作来通知服务器。
遗憾的是,如果您想响应点击等浏览器事件,您必须编写 JavaScript 代码,并让该代码与您的 Flask 后端通信(例如通过发送 HTTP 请求)。
推荐阅读
- php - 如何在谷歌云服务器或 AWS 上运行 php websoket 服务器文件(server.php)
- php - TYPO3:如何使用 Standalone 创建后端视图。(自定义内容元素)
- javascript - 当字符按行列顺序时,如何将字符串解析成组?
- php - if语句大于等于0但不为空
- javascript - ng build 找不到可用的模块
- c - 如何将结构的成员复制到C中的double数组中?
- php - 如何使用正则表达式捕获 PHP 代码中未引用的数组索引并引用它们?
- android - 弹出窗口上方的浮动操作按钮
- python - 如何从 html 表单中获取日期到烧瓶中
- excel - 为什么在 VBA 中查找时出现错误?