【问题标题】:Passing data from Jinja back to Flask将数据从 Jinja 传回 Flask
【发布时间】:2014-06-24 07:02:56
【问题描述】:

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

假设我打印了一些项目列表。用户选择项目,我可以通过 Javascript 捕捉到。

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

【问题讨论】:

  • 用例是什么?你能举一些例子吗? Jinja 在渲染后有点失去与烧瓶应用程序的通信

标签: javascript python flask jinja2


【解决方案1】:

注意:我所说的 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 代码用户交互。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 2014-12-17
    • 2019-01-02
    • 2017-06-15
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多