如何清除Flask路由函数中的变量值?

0 投票
1 回答
1371 浏览
提问于 2025-04-18 18:04

我做了一个小应用,用户可以选择电影类型、年份等,然后这个应用会通过API查询相关网站,给用户提供一份电影名称的列表。我用Flask来搭建这个应用,所有功能都已经实现了。

我实际上使用了一个列表变量来存储从API获取的电影名称、评分、海报等信息,然后把这个列表传递给模板进行展示。

问题是,第一次用户选择了3部电影后,如果用户回到首页,再选择不同的类别,结果会显示当前选择的结果和之前选择的结果,因为变量的值没有被清空。

我尝试用del output[:]来清空这个列表,放在不同的位置,但都没有效果,请帮帮我……

附注:代码比较长,所以这里不贴出来,可以在我的GitHub仓库找到 - https://github.com/avinoth/moviesuggester

当前有问题的应用可以在这里运行:http://moviesuggest.therth.com

1 个回答

0

你把 resultoutput 定义成了全局变量,这样它们在多次调用这个函数时会一直保留之前的值。其实这样做没必要:把它们放在 index 函数内部定义就可以了。

撰写回答