From 4ddde36fded5a5acb8b0a85137ab22d4be214215 Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand <benjamin.bertrand@esss.se> Date: Mon, 12 Feb 2018 12:43:32 +0100 Subject: [PATCH] Add Flask-CacheBust to force reload of js files The browser caches the static files (js, css...). Flask-CacheBust adds a hash to the URL of each static file to force clients to redownload the files when changed. --- app/extensions.py | 2 ++ app/factory.py | 4 +++- environment.yml | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/extensions.py b/app/extensions.py index 707534c..24aff09 100644 --- a/app/extensions.py +++ b/app/extensions.py @@ -22,6 +22,7 @@ from flask_debugtoolbar import DebugToolbarExtension from flask_redis import FlaskRedis from flask_session import Session from flask_caching import Cache +from flask_cache_bust import CacheBust convention = { @@ -45,3 +46,4 @@ toolbar = DebugToolbarExtension() redis_store = FlaskRedis() fsession = Session() cache = Cache() +cache_bust = CacheBust() diff --git a/app/factory.py b/app/factory.py index 47c27d2..2bd6ba7 100644 --- a/app/factory.py +++ b/app/factory.py @@ -14,7 +14,8 @@ from flask import Flask from whitenoise import WhiteNoise from . import settings, models from .extensions import (db, migrate, login_manager, ldap_manager, bootstrap, - admin, mail, jwt, toolbar, redis_store, fsession, cache) + admin, mail, jwt, toolbar, redis_store, fsession, cache, + cache_bust) from .admin.views import (AdminModelView, ItemAdmin, UserAdmin, TokenAdmin, NetworkAdmin) from .main.views import bp as main @@ -90,6 +91,7 @@ def create_app(config=None): app.config['SESSION_REDIS'] = redis_store fsession.init_app(app) cache.init_app(app) + cache_bust.init_app(app) admin.init_app(app) admin.add_view(UserAdmin(models.User, db.session, endpoint='users')) diff --git a/environment.yml b/environment.yml index ca03f0b..c0c4c89 100644 --- a/environment.yml +++ b/environment.yml @@ -80,6 +80,7 @@ dependencies: - dominate==2.3.1 - email-validator==1.0.2 - git+https://github.com/beenje/flask-bootstrap@4.0.0.0.dev1 + - git+https://github.com/beenje/flask-cachebust@2.0.0 - flask-caching==1.3.3 - flask-jwt-extended==3.4.0 - flask-ldap3-login==0.9.13 -- GitLab