我一直在尝试使用flask根据列表或网址/页面名称自动移动到另一个网址。这个想法是,任何人都可以扔出一个页面,将其添加到列表中,站点将每隔30秒左右继续移动到每个页面。
这是我的伪代码
from flask import Flask, request, render_template
import time
app = Flask(__name__)
list = ["1.html", "2.html"]
@app.route('/')
def index():
for li in list:
return render_template(li)
time.sleep(1)
if __name__ == '__main__':
app.run(debug=True)
我尝试了几种不同的方法,但实际上@ app.route只会运行一次。如果我在@ app.route外部运行循环,则尝试在端点上写。
有人建议采用其他方法吗?
谢谢
答案 0 :(得分:0)
好了,解决了。使用一些全局变量并意识到该函数将不会更新其函数之外的变量。这将浏览网页列表,并在一段时间后移至每个网页。
from flask import Flask, request, render_template, redirect, url_for
import time
app = Flask(__name__)
list1 = ["1.html", "2.html", '3.html']
i = 0
@app.route('/')
def index():
global i
if i < len(list1):
j = i
i+=1
return render_template(list1[j])
elif (i == len(list1)):
i = 0
return render_template(list1[i])
if __name__ == '__main__':
app.run(debug=True)
您还需要在每个html页面中添加以下内容
<meta http-equiv="refresh" content="3" >
这将强制刷新以运行该功能。因此,现在基本上我可以进行页面的幻灯片显示了,所有人们需要做的是将页面添加到目录中,将页面名称添加到列表(将是文本文件)中,然后将显示下一个页面互动。