我如何将信息从 Jinja 模板页面传回 Flask?
假设我打印了一些项目列表。用户选择项目,我可以通过 Javascript 捕捉。
将所选项目作为参数传递给将生成该项目自己的页面的函数的最佳做法是什么?
最佳答案
注意:我所说的 HTML 是指 HTML,包括 HTML。 JavaScript 等
- Python 网络应用程序接收 HTTP 请求以呈现页面
- Controller 中的 Python 代码要求 Python 模型为 Jinja2 渲染 HTML 页面准备数据
- Jinja2 模板呈现 HTML 页面
- Python 网络应用将生成的页面发送回客户端
- 客户点击页面上的某个元素。这可能会导致对全新 HTML 页面的新 HTTP 请求,也可能是 AJAX 请求(在浏览器中从 HTML 页面上的 JavaScript 发起的异步执行的 HTTP 请求),它向 Web 应用程序请求新数据或向 Web 应用程序提供新信息.
- Web 应用程序 (Python) 接收请求,可以更改模型内容并将响应返回给 JavaScript
- JavaScript 接收新数据并使用它们更新浏览器中的 HTML 页面。
正如所见,Jinja 模板只是一个工具,它允许渲染 HTML 页面。与 Web 应用程序的唯一直接交互是提供呈现的 HTML 内容,目前没有机会在该内容中包含任何用户交互,因为客户端尚未看到该页面,它必须由 Python 代码提供。
唯一的方法是,Jinja 模板中的某些内容如何通过上述往返间接告知 Python 代码有关用户交互的信息。
关于javascript - 将数据从 Jinja 传回 Flask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24380332/