EDIT: Figured it out, press F12, click network, check "Disable cache".
I have a basic flask server I'm using to learn d3. The problem is that chrome is giving me a cached javascript file I'm working with, example.js.
Request Method:GET Status Code:200 OK (from memory cache)
The server itself is sending a non cached response, I can see this by looking at the response directly via:
/static/example.js
I added this in application.py to prevent caching.
@app.after_request
def add_header(r):
"""
Add headers to both force latest IE rendering engine or Chrome Frame,
and also to cache the rendered page for 10 minutes.
"""
r.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
r.headers["Pragma"] = "no-cache"
r.headers["Expires"] = "0"
r.headers['Cache-Control'] = 'public, max-age=0'
return r
Here's the entire code
import os
import re
from flask import Flask, jsonify, render_template, request, url_for
from flask_jsglue import JSGlue
from flask import send_file
# configure application
app = Flask(__name__)
JSGlue(app)
# prevent cached responses
@app.after_request
def add_header(r):
"""
Add headers to both force latest IE rendering engine or Chrome Frame,
and also to cache the rendered page for 10 minutes.
"""
r.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
r.headers["Pragma"] = "no-cache"
r.headers["Expires"] = "0"
r.headers['Cache-Control'] = 'public, max-age=0'
return r
@app.route("/<string:filename>")
def main(filename):
"""Render file."""
return render_template(filename)
@app.route("/favicon.ico")
def favicon():
filename = 'images/fav.png'
return send_file(filename, mimetype='image/png')
Thanks for reading.
To prevent cached responses from the browser: - press F12 or right click > inspect - click network tab - check "Disable cache".
To prevent cached responses from the server: add the following definition to application.py:
# prevent cached responses
if app.config["DEBUG"]:
@app.after_request
def after_request(response):
response.headers["Cache-Control"] = "no-cache, no-store, must-revalidate, public, max-age=0"
response.headers["Expires"] = 0
response.headers["Pragma"] = "no-cache"
return response
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With