将数据从Jinja传回Flask

时间:2014-06-24 07:02:57

标签: javascript python flask jinja2

如何将Jinja模板页面中的信息传回Flask?

说我打印一些项目列表。用户选择该项目,我可以通过Javascript抓住它。

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

1 个答案:

答案 0 :(得分:5)

注意:HTML表示HTML含量。 JavaScript等。

  1. Python Web应用程序接收呈现页面的HTTP请求
  2. 控制器中的Python代码要求Python模型为Jinja2
  3. 呈现HTML页面准备数据
  4. Jinja2模板呈现HTML页面
  5. Python Web应用程序将结果页面发送回客户端
  6. 客户点击页面上的某些元素。这可能会导致对全新HTML页面的新HTTP请求,或者它可能是AJAX请求(在浏览器中的HTML页面上从JavaScript启动异步执行的HTTP请求),这会向Web应用程序请求新数据或为Web应用程序提供新信息
  7. Web应用程序(Python)接收请求,可以对模型内容进行更改并将响应返回给JavaScript
  8. JavaScript接收新数据并使用它们在浏览器中更新HTML页面。
  9. 如图所示,Jinja模板只是工具,它允许渲染HTML页面。与web应用程序的唯一直接交互是提供呈现的HTML内容,目前没有机会在该内容中包含任何用户交互,因为客户端尚未看到该页面,它必须由Python代码提供。

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