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

时间:2017-01-14 16:42:25

标签: python html flask jinja2 sidebar

我正在使用带有Flask和Jinja2的Python,我正在尝试实现侧边栏。在HTML页面中我得到了这个:

{% include "sidebar.html" %}

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

2 个答案:

答案 0 :(得分:1)

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

latest_users

现在只需执行以下操作即可从任何Jinja模板访问变量{% for user in latest_users %} <p>{{ user }}</p> {% endfor %}

nil

答案 1 :(得分:0)

您可以将变量传递给模板。当您使用include时,您的变量仍然可以在此包含的部分中使用:

@app.route('/')
def index():
    users = ['user1', 'user2']
    debug = False
    render_template('index.html', users=users, debug=debug)

# index.html
{% include "sidebar.html" %}

#sidebar.html
{% for user in users %}
  <p>{{ user }}</p>
{% endfor %}
{{debug}}