来自DB的Python Flask变量更新

时间:2015-10-16 11:36:52

标签: python flask sqlalchemy

我有一个烧瓶应用程序,显示/仪表板页面上的标签。每个选项卡的名称是在烧瓶连接到的DB中找到的对应表。添加了更多表格,并删除了一些表格。

我有一个名为get_locations()的def,它会抓取所有表名并转储到dict中。此dict将被推送到HTML,其中创建选项卡并相应地命名。 (带引导程序)

当我的Flask应用程序启动时,我可以正确地看到数据库中存在的所有选项卡名称作为表格。

问题: 创建或删除新表时,我看不到要删除的标签要创建。 (更新)

我做了什么: 我有一个获取所有表名的def,这个函数在/ dashboard路由上调用。见下文。但是,当我导航到/仪表板时,它并没有相应地更新,因为我在后端操作数据库。

insp = reflection.Inspector.from_engine(engine)
locations = []

def get_locations():
    global engine
    global insp
    global locations
    locations = []
    for i in insp.get_table_names():
        locations.append(str(i))
    return locations

@app.route('/dashboard/')
@login_required
def dashboard():
    i = 1
    locations = []
    return render_template("dashboard.html", TOPIC_DICT = TOPIC_DICT, locations=get_locations(), i=i)

当我刷新页面时,它仍然将旧表显示为选项卡,而不是后端添加的新表。这是什么疯狂!

非常感谢任何帮助。

0 个答案:

没有答案