Я пытался использовать флягу для автоматического перехода на другой URL-адрес на основе списка или имен URL-адресов/страниц. Идея состоит в том, что любой может добавить страницу, добавить в список, и сайт будет продолжать переходить на каждую страницу каждые 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
red5hadow 24 Окт 2019 в 14:44

1 ответ

Ок решил. Использование некоторых глобальных переменных и понимание того, что функция не будет обновлять переменные вне своей функции. Это просмотрит список веб-страниц и перейдет к каждой через определенный период времени.

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" >

Это приведет к обновлению, которое запускает функцию. Итак, теперь у меня может быть слайд-шоу страниц, и все, что нужно сделать людям, это добавить страницу в каталог, добавить имя страницы в список (который будет текстовым файлом), и он покажет страницу следующего взаимодействие.

0
red5hadow 26 Окт 2019 в 10:10