Flask Конечная точка индекса PWA не обновляется при изменении - PullRequest
0 голосов
/ 28 февраля 2020

Я работал над тем, чтобы превратить мое приложение Flask в PWA (Progressive Web App), и теперь, когда у меня возникли проблемы, мне кажется, что у меня есть некоторые проблемы, которые, как мне кажется, мне известны, но не имеют решения. Пожалуйста, исправьте меня, если я ошибаюсь.

Когда запрос попадает на root моего приложения: app.com/, он отображает тот же шаблон, но с другими компонентами в зависимости от того, вошел ли пользователь в систему или нет:

@main.route("/")
def index():
    if current_user.is_authenticated:
        check_settings = current_user.settings.first()
        latest_words = False
        if check_settings.show_latest_words:
            latest_words = latest_added_words(10)
        latest_articles = latest_added_articles(1)
        latest_articles_list = latest_added_articles(5)
        return render_template("index.html", 
                                title=title,
                                latest_words=latest_words if check_settings.show_latest_words else None, 
                                show_words_card= check_settings.show_latest_words,
                                latest_articles=latest_articles, 
                                latest_articles_list=latest_articles_list)
    return render_template("index.html", title=title)

Таким образом, один и тот же шаблон возвращается независимо. если пользователь не выполнил вход, когда он / она впервые загрузил приложение, компоненты, которые он будет видеть, - это форма входа в систему и страница доступа, при входе в систему приложение по-прежнему будет отображать форму входа и страницу входа, поскольку это индекс приложение, если они получают доступ к любой другой конечной точке, не полностью кэшируется. Но индекс есть. Поэтому вместо того, чтобы видеть их пост, они просто снова и снова попадают на одну и ту же кэшированную страницу. (если они не удаляют кеш, но затем он начинается снова). Я полагаю, это из-за того, как построены PWA? Это мой манифест. json, который содержит start_url, который указывает на индекс приложения:

{
  "name": "Lang&Code",
  "short_name": "Lang&Code",
  "description": "A progressive webapp for NLP",
  "theme_color": "white",
  "background_color": "white",
  "display": "standalone",
  "orientation": "portrait",
  "scope": "/",
  "start_url": "/",
  "icons": [
    {
      "src": "img/icons/android-icon-72x72.png",
      "sizes": "72x72",
      "type": "image/png"
    },
    {
      "src": "img/icons/android-icon-96x96.png",
      "sizes": "96x96",
      "type": "image/png"
    },
    {
      "src": "img/icons/android-icon-128x128.png",
      "sizes": "128x128",
      "type": "image/png"
    },
    {
      "src": "img/icons/android-icon-144x144.png",
      "sizes": "144x144",
      "type": "image/png"
    },
    {
      "src": "img/icons/apple-icon-152x152.png",
      "sizes": "152x152",
      "type": "image/png"
    },
    {
      "src": "img/icons/android-icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "img/icons/ms-icon-310x310.png",
      "sizes": "310x310",
      "type": "image/png"
    },
    {
      "src": "img/icons/ms-icon-512x512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ]
}

Я действительно был разочарован этим и хотел бы иметь некоторые идеи или обходные пути. Спасибо заранее. Чтобы решить проблему, вот ( приложение ).

...