在 Flask 应用程序的多个页面中从服务器获取数据

Ash*_*ira 5 html python sidebar jinja2 flask

我正在将 Python 与 Flask 和 Jinja2 结合使用,并尝试实现一个侧边栏。在 HTML 页面中我得到了这个:

{% include "sidebar.html" %}
Run Code Online (Sandbox Code Playgroud)

我想要在侧边栏文件中包含最新用户的块。为此,我需要从服务器获取 sidebar.html 文件的结果。但是我应该在 python 文件中的哪里编写代码呢?

Pav*_*dhu 4

实现此功能的方法是在 python 端创建一个 Jinja 变量:

app = Flask(__name__)

app.jinja_env.globals.update({
  'latest_users': get_latest_users()
})

def get_latest_users() {
  return ['Mark', 'Jane', 'Sally']
}
Run Code Online (Sandbox Code Playgroud)

latest_users现在可以从任何 Jinja 模板访问该变量,只需执行以下操作:

{% for user in latest_users %}
  <p>{{ user }}</p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)