将数据从Jinja传回Flask

kab*_*oom 1 javascript python jinja2 flask

如何将Jinja-templated页面中的信息传递回Flask?

说我打印一些项目列表.用户选择该项目,我可以通过Javascript捕获.

将所选项目作为参数传递给将生成此项目自己的页面的函数的最佳做法是什么?

Jan*_*sky 5

注意:HTML表示HTML.JavaScript等

  1. Python Web应用程序接收HTTP请求以呈现页面
  2. 控制器中的Python代码要求Python模型准备由Jinja2呈现HTML页面的数据
  3. Jinja2模板呈现HTML页面
  4. Python Web应用程序将结果页面发送回客户端
  5. 客户点击页面上的某些元素.这可能会导致对全新HTML页面的新HTTP请求,或者它可能是AJAX请求(在浏览器中的HTML页面上从JavaScript启动异步执行的HTTP请求),这会向Web应用程序请求新数据或为Web应用程序提供新信息.
  6. Web应用程序(Python)接收请求,可以对模型内容进行更改,并可以将响应返回给JavaScript
  7. JavaScript接收新数据并使用它们在浏览器中更新HTML页面.

如图所示,Jinja模板只是工具,它允许渲染HTML页面.与web应用程序的唯一直接交互是提供呈现的HTML内容,目前没有机会在该内容中包含任何用户交互,因为客户端还没有看到该页面,它必须由Python代码提供.

唯一的方法是,Jinja模板中的某些内容如何通过上述往返来间接通知Python代码用户交互.